If it works when showing the messagebox, then there are probably only 1 or 2 options that might cause the error.
Timing and/or maybe window message queue processing
For timing add: Sleep(100) to your loop (or any longer timespan if needed)
(For message queue add: DoEvents)
So assuming that the sample code in the Help has been shown to work (testing the result of Reader.ReadNextRow) why would cirollo's version not work?
I've never done any relevant databse stuff with b4ppc, but as far as I understand, the sqllite stuff was implemented with the idea of the database being a local file, so if you connect to a server via a network things might work a little different