It's funny, an hour before reading your post I was thinking about adding moon phases to my LED clock. "Now where in the hell am I going to get an algorithm for that?", I thought.
I also liked your utility to set the clock. That .NET 3.5 is a whopper though! I might try a VB script with a comm object I found.
Anyway, great job, and it sounds like you just need another hook so it can be hung upside down, down under. (I hope you don't have to reverse the polarity on your battery too!)