With slightly less revolutionary zeal ...
Switch to a proper SQL database. Access was written as a desktop database that an executive can learn how to program over a weekend. It's not meant to be used for anything serious. Indeed, it's such a memory pig that a query can time out with as few records as you've got, which seems to be exactly what's happening.
ASP is also a pig, and while it seems easy because it's familiar VBscript, it will eventually suck all the life, happiness, and well-being out of you as you try to figure out why it's doing weird things. That's in the license agreement... oh wait, ya didn't read it? 😉
Even in a 100% Windoze environment, you can't beat free products like PHP and MySQL. Or PostgreSQL, but I haven't tried that on a windows machine yet. Seriously, give them a try. I just finsihed setting up a query across three tables with over 10,000 records each and a user table with a couple hundred records... works like a charm. Returns the result I need, formatted exactly the way i need it, in under two seconds.
shrug Sorry we can't help you with the problem that you're having, but it's a vendor-created software problem rather than any problem with your code or your data.