We do this as well. I have had to troubleshoot the Windows Scheduled tasks quite a bit, and they generally suck in that regard since they don't generally give you much to go off of. A couple things I would recommend:
Check the Windows Event Log. Sometimes the Task will actually tell you what the problem was (not usually though).
Ensure you're capturing the script output and all the command output properly. Add additional logging lines in the script if you need to and dump them to a text file, to see where it stops / fails / hangs.
You can also try running the script manually, under the run-as account, with the "runas" command. That can help in simulating the Scheduled Task.
Make sure you have given proper run as account that has admin access to the server. Usual recommendation is to use the Service account (if you have any) and as Matt Coles suggested write logs to find out where its breaking . Not a recommendation but I tried other third party Schedulers and it happenes to get things done, one thing to look for is Schedule Manager - Automation - CodeCaged. There are lot more free tools, Again not particular recommendation from my end.
thanks - we had a service account setup, and had asked our IT Security group to allow it to have logon locally rights to the server, however, it turned out they did not setup the service account with these priviliges..only logn as a service privileges. we were runnng the restore under the service account, and it didn't have the correct privilges. However, no errors even in the windows event viewer on this, so was difficult to track down.