Накопал ивенты в /clientscript/vbulletin_textedit.js
По перехвату keypress криминала не вижу, хотя надо бы попробовать это дело вытащить и погонять отдельно. Но на первый взгляд нажатие клавиш должно определяться без проблем.
Возникает подозрение, что косячит вызываемый метод vB_Editor[this.editorid].apply_format(B,false,null); (где B - вычисленное прежде значение - italic, bold или underline), который в итоге вызывает wrap_tags(),.. ну, и там дальше по цепочке всё скатывается к попытке вставить BB-code перед и после выделенного текста. Странно, что тот же самый код нормально отрабаывает при нажатии на кнопку на панели инструментов. Значит, проблема всё-таки где-то в хэндлере.