I have come across this error before and the only thing I could attribute it to was the way I was querying my linked tables. Exactly the same symptoms i.e. works when double-clicking from the database window, but not when calling it from VB.
From memory I tested it with a linked table and a local table, and using a control as one of the criteria; and couldn't get it to work with the linked table ... you're probably going to say it's not a linked table!!
Unfortunately, I had to do a workaround so I could keep moving forward.