It's a pain in the butt to do it, but have you tried creating a new user profile and down loading the data to the new profile?
The reason I ask is this: Last summer when I was camping, the battery went haywire and corrupted something on the card. Before I knew there was a corrupt data file on the card, I tried to load the data into SleepyHead and the first time, it acted like it was reading the data, and then SleepyHead crashed before displaying the data. And after that, every time I tried to select the user profile, SH would immediately crash. Encore could read the card, and I finally put two and two together and figured out that the battery problem had likely caused the wave flow data file to be corrupted. (I'd had a similar problem way, way back when after a power surge at the house.)
The "fix" for the problem involved:
1) Erasing the card and reformating it to get rid of the corrupt data file on the card
2) Creating a new user profile in SleepyHead because the corrupt data file created some kind of a corrupt database for that particular user profile.
3) Loading the data into the new user profile and using back-up data to load the previous data into the new user profile.
You will likely lose some data doing this, but the only other alternative that I've found requires a lot of mucking around with creating multiple SH user profiles, copying the SD card to the computer's hard drive, and taking the time to experimentally deleting the suspect files one by one until finding the one(s) that had to be deleted for SH to both load the data and not crash.