GFCI does not look for shorts. It simply compares outgoing to incoming current and if it doesn't match then the GFCI trips. If water gets into the socket and shorts between the hot and common, the GFCI would not see that as anything but a heavy current draw and since it is not a line protection device, it will do nothing. As for the lights, do they still have their gaskets and are you using standard flood lights in them? If the gasket is missing or you are using those small indoor colored floods that don't seal well to the gasket then water can get in, especially if you have them pointing on an upword angle. I used one of them for Halloween and it worked ok for me but I had a full sized green flood in it an it was pointing on a slight downward angle which helps to keep the water out.