Joe, it looks like I am sitting with a similar situation to you.
I access my database from every Activity Module, and, unless I am missing something obvious, don't see what advantage it would be to have a seperate code module to handle accessing the database.
I started off by using your option b (initialising with every module), but found it confusing when one module is called from within another one. Last week I changed over to your option a (initialising in the Main Module), but haven't tested it to see the results.
Did you experience problems using option a, that you feel a necessary to change?
Dave