1) Да, но многие некроссплатформенные вещи написанные дефайнами, то есть хоть код и один работать реально будут разные ветки / подключаться разные файлы.
2) До определённой степени. Слишком старая версия может не иметь каких-то из используемых опций, содержать критичные для Qt баги.
3) Вероятно, но я на несовместимые не натыкался.
4)
http://www.cyberforum.ru/cpp-cross-platform/thread234568.html 5) Добавить в предыдущем пункте -qt-sql-mysql
6) Иметь 2 версии Qt (статическую и динамическую) в разных папках.