Разобрался. Всё дело в том я использовал
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
а в пути к базе были русские буквы. Видать плагин QIBASE не умеет перекодировать строки исходя из системной локали.
Помогло
QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));
перед коннектом и возврат
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
сразу после коннекта
Ну и в общем к Firebird этот пост как оказалась отношения не имеет.