HTC Desire crashed, deleted all SMS/MMS. Can I recover? Been a reader of SO/SE for a while as am getting into Android development. Just wanted to ask a quick question. Hope someone can help. :)

I have a HTC desire (2.2 with HTC sense, as per stock), never rooted and little used (basic apps installed, not used for any dev) I use as just a phone really. Hence I was very surprised when it crashed the other day and all my SMS/MMS were deleted (the stock HTC Messages app was empty)!

I know I should not have rebooted the device (as file recovery may be easier as it reduces chances of file space being overwritten), but was told to do so by T-Mobile advisor.

Upon reboot, found the stock HTC Messages app used for SMS/MMS was was now populated by SMS that was saved on the SIM. Hence I think, the Desire recreated the SMS/MMS content using the saved SIM messages as a start.

What I would like to know is can the older SMS/MMS be recovered? I assume they are stored in...
/data/data/com.android.providers.telephony/databases/smsmms.db
...and that this file (originally with 500+ messages) has been overwritten by a new smsmms.db (now containing ~5 messages), but as I am new to Android/Linux am not sure if this assumption is right e.g. the new smsmms.db file could be written to a different disk location (as is common on FAT32/NTFS file systems in Windows) and hence with the right know-how the original file can be recovered (I've recvered many files like this in Windows without issue).

Does anyone know how to recover SMS/MMS messages like that, or how to recover/undelete files from these devices in general (I don't mind if it is only a partial file and I have to rebuild/extract messages).
I don't hold out much hope that the .db file was not overwritten, but I recommend mounting the phone storage to a PC (preferably Linux as Mac will write immediately and Windows might also) to attempt recovery.  I don't know what tool to use offhand but search results look promising http://www.google.com/q=linux+file+recovery