"Should I just schedule a cron job like once an hour to run a <?php mysql_connect(); mysql_query("REPAIR TABLE ldbcx"); ?> script? "
ofcourse not :-)
You have to find out what's corrupting the tables.
Think of things like low memory, low diskspace (do you have enough temp and swap space, instable MYSQL versions, other processes that interfere with MySQL's disk operations (what kind of disks is MYSQL using to do it's thing?)