If I understand correctly, you want to use an offline wallet, but you still want the ability to automatically receive payments which will credit to user accounts.
If you assign a public key to each user account, then you can monitor each public key's transaction log to look for incoming transactions (since all transactions are public). The difficulty will be in automatically generating new addresses for new accounts. You could pre-generate some keys in the offline wallet, but you would need to generate more when they have all been used.
As far as coding it, you might could save some time by using blockchain.info's API to monitor for new transactions:
http://www.blockchain.info/api