Вообще говоря, для некритических данных я бы использовал InnoDB, настроенный на скорость. (Например, я не буду сбрасывать двоичные журналы при каждом коммите.) Я бы использовал MyISAM только для таких вещей, как журналирование таблиц.
Как уже упоминалось, вы можете использовать внешние поисковые индексы, если вам нужно выполнить полнотекстовый поиск. Они более мощные и быстрые, чем MySQL.
Что касается части о транзакциях, то это немного ложь. Вы можете сделать то же самое с MyISAM, заблокировав таблицы для WRITE. Если вы добавляете, скажем, три таблицы при публикации сообщения, вы можете заблокировать все три таблицы для ЗАПИСИ, и данные будут выглядеть согласованно (при условии, что все три INSERTS выполнены успешно).
Но проблема в том, что вы блокируете всю таблицу, что может замедлить одновременное использование. Фактически, это одно из главных преимуществ InnoDB перед MyISAM: оно имеет блокировку на уровне строк.
Короче говоря: если вы не можете настроить внешний индексатор, и ваш сайт не испытывает слишком много трафика, MyISAM будет работать нормально, несмотря на его меньшую надежность. Вы можете эмулировать согласованность транзакций с блокировками таблиц. (Я не хочу, чтобы это звучало так, будто блокировка таблицы как-то эквивалентна транзакциям.)
В противном случае я бы использовал InnoDB с внешней службой индексации.