The only major difference I know is that Mono uses UTF-8 instead of ACP for ANSI functions.
UTF-8 will break most of Windows applications since they don't expect to see strings in a multibyte encoding.
I know that. And the problem is that there is a mess of ACP and UTF-8 inside native code of Mono. I tried to change things several times but none of them were accepted.
Kornél