Too many if statements?? Please help

Have you tried taking out as much code as possible to make the problem still happen? For example, what happens if you replace the playfile() code with a single Serial.print statement? If the problem still exists, take some code out from somewhere else... this way, you have a lot less code, but you still have the problem which is then easier to track down (you just removed half the haystack).