In fact I have the same problem but i'm working with Access from a asp page.
Like Jonathan I have a recursively function.
First I test ran several querys with the same connection, I mean send the connection liek parameter, keeping it alive, and closing it when the functions return the value.
Then I test open a new connection in every function call, and nothing change.
The resul is the same.

Sorry, comments are closed for this post. If you have any further questions or comments, feel free to send them to me directly.