RTTI повышает объем скомпилированной программы, добавляя к каждому классу имеющему таблицу виртуальных функций доп. информацию о типе. 
Насчет компиляторов ну не знаю, по моему уже все корректно поддерживают, на дворе 21 век. 
 
 Скорость работы кода не использующего C++  RTTI не снижаетcя, 
но естественно 
QListViewItem* item = ....; 
if ( item && item->rtti() == 1 ) { 
QCheckListItem* checkItem = (QCheckListItem*) item; 
bool on = checkItem->isOn(); 
}
будет быстрей чем
QListViewItem* item = ....; 
if ( (QCheckListItem *ch=dynamic_cast<QCheckListItem*>(item)) != 0 ) { 
bool on = ch->isOn(); 
}
но не думаю что это большой плюс.
Преимущество RTTI очевидно: отсутствие конфликтов между различными наследниками от QCheckListItem.