試してみましたが,残念ながら期待通りに動きませんでした.
MS IMEでは期待通り動くのですが,ATOKだとIMR_CONFIRMRECONVERTSTRINGで0を返してもキャンセルと認識してくれないみたい.
(SDKの解説を見る限りではATOKが仕様通り実装されていないんだと思いますが)
なので,再変換範囲とエディタの選択範囲のミスマッチが起こって確定orキャンセル後にカーソル位置に別の場所の文字が入ってしまいます.
作ってしまったGUI部分を
reconv_selectext_gui.diff
として共有フォルダにおいておきます.