As you have water coming in, I would think the main problem is that. Connections possibly behind the dash will have started to corrode, in so doing, they give a bad connection. I had a bad connection, from door pillar to door, which stopped my central locking from working, I used a contact cleaner/lubricant spray on both parts of the plug/socket joint, No problem since, I do not think that there are too many connections behind dash, some will be behind radio etc, But basically, you will need to clean the connections, spray is easiest, Might only be 1 or 2 that is causing the problem, But as you say problem with cd, start with that, remove it from consul, disconnect use spray reconnect, make sure that you have code available for the radio, If not, make a note of serial No etc before putting it back, you can then ask on here for a code. Continue with other connections, If you have problems, repost with full model number and yr, And I will try to find where the connections are located. Some might be through the chassis, connecting inside to outside, But I would think that is the problem that you need to see to. Check, more where the leak is, and work away from that point
SD, July 2012