В общем, я «внезапно» осознал, что никакой нафиг совместимости в .NET Framework нет. Если в жабе мы знаем, что программа будет одинаково работать на всех ОС (при наличии установленного JRE одной и той же версии), то в .NET это не так.
Только что осознал, что написал на .NET прорамму, которая работает на Win7/2008, но не работает на XP/2003, с одной и той же версией .NET Framework. Причем я не использовал НИ ОДНОЙ(!) native-функции - только стандартную бибилиотеку фреймворка! Честно говоря, я был об MS намного лучшего мнения :-(