Duh. Solved the problem... I had a script in /etc/init.d that wasn't backgrounding properly, so the system wasn't actually booted all the way; as a result, the button wasn't working. Fixed that script, and the button now works as expected.
Anyway, I confirmed the script in /etc/rc.button/reset does work, and you can replace the reboot line with whatever you want. I hope that helps someone.
The omega bootloader (uboot) has a small http server built-in, which can run and accept a new firmware over ethernet (but not WiFi) completely independently from OpenWrt - this allows to recover even seriously mis-flashed units.
This feature saved my Omega a few times back when I just had started to build my own OpenWrt images and got important details wrong in the first few attempts...
I just noticed that even when you don't have the ethernet expansion, but a second Omega with dock, you can use that to reflash, see here