@namezero:
Looks like m0n0wall's beta 1.23b1 has improvement on that issue:
hanges in captive portal (jdegraeve)
* fixed a bug in the way we handle authentication mechanisms (potentially allowing double logins and faulty locking)
* add support for different MAC address formatting styles
* add support for per-user bandwidth limitation (using well-known WISPr RADIUS attributes)
http://m0n0.ch/wall/beta.php
So if you're really stuck, you might want to take a look at m0n0wall for the mean time.
We have already backported this code to HEAD but it will not appear in 1.0. I agree with namezero, if this is such a big issue then please run m0n0wall.