As far as the grounded case goes I'm not sure. All the outlets are grounded and the case itself is nonconductive. Is there something I am missing? Either way I should be safe (I think) as long as I only use it in my darkroom which has GFCI protection for all outlets.
Have you thought about putting the whole project up on github? Then we could more easily share changes by forking the project and issuing pull requests.
Edit:
This was my code for the the Arduino 1.0. I just replaced the WProgram include with this:
The reason for grounding is to save your butt if there's a mains wire coming loose inside the case. For example if someone steps on a cord and fractures the Live connection, it might come adrift and touch something like the back of the rotary encoder or something. Or you might end up with a live LCD frame, relay output or whatever - all hugely unlikely but the possibility of it is why there are design guidelines that include things like grounding. For something to pass AU (and presumably US) standards, it either must be double-insulated, or have all human-accessible conductive parts like chassis protected by grounding.
GFC will help you a lot, but not if you get between live and neutral. How much that helps you depends on the grounding inside that switching power supply. See
IEC Appliance Classes; Class I is the easiest to build at home, just use a grounded metal case. Class II is cheap to mass-produce (all those appliances with 2-prong cords) when there are plastic cases involved, but it's harder to certify. What you've got there is Class 0 and would not be legal for sale.
Most of my open-source involvement predates the existence of github so I've never tried it but there's no reason why I shouldn't give it a bash. Maybe a later release will appear there.
Nicholas: indeed I don't expect to have a lot of these out in the wild; for the record I've sold nine PCBs and seen photos of four completed builds. I don't see that there's any way for me to make money from it (the labour cost of assembly is insane and there isn't the market size for mass-manufacture; I can't imagine you making much margin off yours!) so I just release it. To me, that's the point of open-source: I build a niche-something because I want it and maybe some others can benefit from my work instead of reinventing the wheel; that ecosystem provides 99% of the software that I use daily. Taking free but raw IP and turning it into a physical item certainly isn't for everyone but I'm happy that there are now four more people using f/stop timers that previously weren't. Better yet, one of them might have a good idea and send me back a big improvement (anyone feel like writing some code for split-grade?) or bugfix.