Вроде нашел короткое решение. В Gecko DOMMouseScroll является частью интерфейса nsIDOMMouseScrollEvent. Наличие этого интерфейса проверяется так:
Components.interfaces.nsIDOMMouseScrollEvent
Теперь тот участок скрипта выглядит так:
...
//
// Gecko использует событие "DOMMouseScroll" вместо "mousewheel"
// Наличие этого интерфейса в Gecko можно проверить так: Components.interfaces.nsIDOMMouseScrollEvent
//
ff, mousewheel = {
mousewheel : (ff = window.Components) &&
(ff = ff.interfaces) &&
(ff = ff.nsIDOMMouseScrollEvent ) ? "DOMMouseScroll" : null
},