Just a thought use a dvm to verify proper operation of the reed switch outside of the Arduino circuit. By splitting the problem this way you can more easily determine where the issue is. If the the reed switch isn't working you can really tear your hair out pouring over your code.
I've been in the business for 30 years and the best advice I can give for troubleshooting is to simply and break down the problem into small pieces, then verify each part.
I still find myself to this day writing a complete program with all the required functions only to find I need to write little pieces of code to test the hardware.
Hope this didn't sound preachy..........