Какова практика программирования максимально совместимых приложений под Windows?
1. С++ Redist можно распространять вместе со своим дистрибутивом.
2. Можно включить опцию "статическая компоновка" и тогда внешние библиотеки почти и не понадобятся.
3. Не использовать внешних библиотек, которые вы не можете прилинковать.
4. Аккуратно подходить в выбору вызовов API, читать доку, в каких версиях они доступны, проверять на чистых голых ОС. Например, GDI+ на голой WinXP не доступен, но ставится туда с обновлениями. Хрен знает - будут ли эти обновления стоять в вашей ситуации.
Еще как вариант максимальной совместимости - не использовать стандартную библиотеку и писать на чистом WinAPI, обращая внимания в описаниях функций WinAPI в какой версии виндов она появилась, если функция новая, то не используйте ее. 
Все сторонние библиотеки линкуйте статически.
Можно добиться того, что программа будет вообще без зависимостей, если не считать зависимость от ОС.
Это довольно геморройное занятие, особенно, если софтина более или менее приличного функционала. 
Первые две недели будет сложно, потом все станет гораздо проще :-)