If mysql table is in MyISAM you might want to try repair table. Im not sure about this, but I would try to, in this situation.
Backup the database first, make sure it’s restorable by restoring to other database (different name). Only then you can try repair table and some other check and repair methods for that specific MySQL table.
I would like to thank you for pointing me in the right direction. For anyone experiencing the same, see below steps I did.
I have a daily backup of database.
When I checked the tables (via CLI and phpMyAdmin), there are several which has been corrupted. After this check, I have blank records in PlaySMS viewing Incoming SMS (admin account) and All Incoming SMS and those affected tables has been marked by phpMyAdmin as In Use.
I have ensured that nobody is using the server/database so I unplugged it from the network. I also unplugged all my USB modems.
Stopped kannel.
I have repaired the tables using REPAIR TABLE command.
Restarted the server and checked. VIOLA, SMS came flowing through! However, we will not be getting those records which was not saved for the past 3 days, but I’m happy that it is working now, all thanks to @anton