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.