а много ли совместимых реализаций существует для одного языка? для С/С++ есть несколько не до конца совместимых - ядро Linux пока собирается только одним gcc. Тот же PHP по сути одним проектом пилится. То же самое и с большинством языков. Java имеет несколько проверенных на совместимость реализаций (Sun/Oracle JDK, OpenJDK, IcedTea) и несколько не проверенных (Apache Harmony, gcj) наверное только количество С/С++ компиляторов может догнать количество JDK-шек.так что вендор-лок-ин будет практически для любого языка. Примерно тоже самое для СУБД - поддерживаемый всеми SQL имеет довольно низкий уровень возможностей. Приктически сразу приходится применять специфичный SQL-диалект. Хранимки и триггеры вообще не совместимы в большинстве СУБД. исключение разве что T-SQL который есть в MS SQL, Sybase ASA (WatcomSQL если слышали о Watcom вообще), Sybase ASE, Sybase IQ. Все остальные СУБД штампуют свои языки и не парятся о совметсимости.
Нужно думать во что вкладываешься.