This is also very useful for servers running multiple MetaTrader instances, to avoid manually starting each terminal when Windows reboots.
We recently integrated auto-restart MT4 functionality into our forex VPS service, but this guide can be used with any VPS, or even a home PC.
The guide uses a free utility called Startup Manager, which provides an easy interface for defining normal programs (.exe's) as system services. This allows Windows to run the programs at system boot, before any user account logs in.
The application is freeware, available to download here: http://www.startup-manager-windows.com/downloads/startman.exe
Install the program, then do the following to add your MetaTrader terminal to system startup:
1. Open Startup Manager (download link above) and click the green “+” icon.

2. In the popup dialog, click Browse.

3. Locate your MT4 terminal.exe file, usually in C:\Program Files (x86)\MetaTrader 4\terminal.exe.

4. Click OK to add the .exe to the startup list.

5. Confirm that terminal.exe by MetaTrader has been added.

Done. MT4 will now automatically restart in the event of a system reboot. There is no need to keep Startup Manager open; all changes are saved to the system registry and will take effect immediately.
Hopefully this guide was of some use. Please post if you have any questions, I will update the thread quickly!