It could be a DNS inestability.
What DNS are you using?
If you cannot translate a name for example when the user pop up a webpage if the computer at that momment cannot translate for example www.google.com it wont display the captive porta...
So check that. I had clients using crappy DNS from their ISPs and this kind of thing use to happen to them.
I told them to change them to another one maybe the google ones 8.8.8.8 and well it stop happening to them..
Im not telling you its this but it could be though.
If you can check yourself and if it happens to you check if you can translate names when it doesnt work with ping... doing ping to www.cnn.com or stuff like that.
Correct DNS funtionality is really imporant for the captive porta... if DNS does not work properly the captive portal doesnt work either. IF DNS works now and then, then the captive portal will work now and then.
IF you seee this behavior just happen with apple devices try this
https://arubanetworkskb.secure.force.com/pkb/articles/HowTo/R-1680
cheers
Carlos