I always look at the Value For Money Ratio
http://www.lunarpages.com/hosting-solutions/linux-and-windows-vps/Starting at $59.95 / month
Free Domain Name
512 MB Memory
30 GB Disk Space
1000 GB Bandwidth
1 IP Address
Parallels® Plesk Panel
Parallels Virtuozzo Container
and Dedicated Server for 89 USD
http://www.lpdedicated.com/servers/linux.phpIntel® Celeron
2.0ghz CPU
2 GB RAM
160GB HDD
so in this case I would recommend to go with DEDICATED since VPS gives you much less stuff for almost the same amount of money

but usually I go with VPS, I had dedicated server, but had this nagging feeling that about 90% of all total resources are idling thus wasting my money, so finally I got myself VPS and never looked back

Main Questions/Concerns:
* What's the interface/ui like for VPS or Dedicated Systems
VPS and Dedicated servers have root shells in case of linux and remote desktop in case of WINDOWS, I don't think you will be able to achieve your goals via some USER INTERFACE
* Is there a possible "system restore" option should I ever need one to go back to an earlier date?
system restore is available in WINDOWS as usual, but if you really crashed, BSODed, or can't boot up, ask for KVM => KEYBOARD VIDEO MOUSE system it is your remote control hardware style, ERIC KVM
you can access your server via TCP/IP hardware remote control, and fix OS, also useful to have a USB STICK with WIN OS ISO on it. I had to recover myself many times via ERIC KVM
* Do I need any additional software to access the server and would possible game helpers/GMs be able to login to said server as well with a limited/shared account?
if you got dedicated server, you can do what ever you want, that is the beauty of your own server

you don't need additional software on your dedicated windows, but TEAMVIEWER is a nice add-on for MSTSC.exe REMOTE DESKTOP
cool thing you can protect your HOST server from Game helpers and users by installing VIRTUALBOX, and make GUEST WINDOWS OS it and then just route ports to GUEST OS like this
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP0/HostPort" 7777
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP0/GuestPort" 3389
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP0/Protocol" TCP
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP1/HostPort" 6666
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP1/GuestPort" 33890
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata xp-noapic "VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP1/Protocol" TCP
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" getextradata xp-noapic enumerate
or make port forwarding via MICROSOFT LOOPBACK ADAPTER
PS. google for keywords and seek your detailed answers