I'll get stuck into this at the wkend.
The basic idea is to stuff "policy" values into the registry to switch Windows Update to "check but don't download" mode during "peak" hours (I'll refer to this as the "mode" option).
Every morning the service gets stopped [?] before the end of off-peak time, and set mode = check_no_download
The service is set to not autostart and one option would be at every boot to check the time of day "now" there and then and configure the mode appropriately.
Late at night, after the commencement of the off-peak period mode=download (or mode=download_and_autoinstall ) and the service presumably needs to be stopped and restarted to make it pick up the change.
I'll test it on a WinXp SP3 box, Vista box and Win7 box.