The problem with this is I never know when it's going to reboot. I can't be waiting around for it to reboot, especially since sometimes it doesn't do this at all... Best I can do is put it to sleep before bed and jump out and check the log if I'm awake long enough to notice it happen.
Sep 17 08:00:02 MyUserName loginwindow[59]: loginwindow SleepWakeCallback will power on, Currenttime:9/17/2010 8:00:02.009 AM - Waketime:9/17/2010 8:00:02.000 AM = Deltatime:0.008557022
Perhaps these programs are checking for software updates (which a lot of programs do every 24 hours), and you also have "wake for network access" enabled somewhere in your Network preference pane.
I'd be willing to bet your computer would sleep soundly if you quit these programs before going to bed, or making some modification to the Network preferences as described above.
Let us know how it works out.