supposedly mysqld should have access to the file as it created it and mysqld would return an error if the user didn't have permissions from mysqld. if its hanging up something else besides permissions is probably causing it.
me thinks you might have hard drive problems ( call me cheap but I've run mysql for months on a hard drive that was failing and corrupting files left and right) run "repair database" from mysql client and fsck from the command prompt (safe way is to restart and force fsck to run on reboot, "shutdown -rF now")
like i was saying in an earlier post, if you stop mysqld and try to remove just the files that make up the tables (table.MYD, table.MYI,table,frm) you'll see right away what the problem is. its not the best way, but mysqld seems to loads tables/databases when its started so after restarting mysqld it'll load normally without the bad tables. i've used this method to repair databases that were toast and for new installations.