My Mason skills are a bit rusty, but I seem to recall that an %init section is exactly what it says: run once. You need to execute the query outside an %init section in the main part of your page generation, otherwise the results are computed once and cached, as %init is meant to do.
update:
Nevermind. I
was rusty. I confused %once with %init, and just went off to verify that. So what you describe
is a bit spooky, but I have nothing to offer at this point. Good luck.
Now, if anyone has a Template Toolkit question instead... my batting average is a bit better there... {grin}