Never say never, though. It is hard to say what will happen here, in the
future. Though since the input methods that ship with the OS shape the type
of text that is produced, it is not going to be common for people to find
"multiple ways to skin the cat".

> how should I balance this in my
> Windows based application since I am using the ICU.

Well, see above. You can certainly do the additional processing if you like.

> I don't think
> simply turn off the normalization process in the ICU would be a good
> idea though, however, if I keep to use ICU to normalize everything in
> my application, then I will possible run into some troubles when
> dealing with the Windows system ...

How is that trouble, precisely? Could you explain this a bit more fully?