I have a Coralife timer and I like it a lot, and I have done horrid stuff until I mounted it to the wall, have spilled water on it while it was on.. had water dripping over it, stepped on it etc etc. Works great.
One complaint: if you change the timer, and you set your time BACK, I.E. The current time is 8pm and you set it from it's timed position of 9pm to 7pm. The lights will stay on. I just simply manually turned them off for the night and it "reset" at the next command time.