Well, I've been playing with the settings in msconfig. I seem to have partially solved the memory issue and got the startup time down a bit.
In msconfig I used selective startup with load system services and load startup items checked and use original boot config unchecked. In the advanced boot options I was then able to uncheck the max memory box and it then stays unchecked on reboot. Windows now reports 4.00gb installed memory and 3.73gb usable, which is correct considering the graphics memory. Boot time from pressing the power button to log on screen is 45s.
As I was typing the above I was still playing around with the machine. I ran the Windows assessment and it hard locked when running the direct 3d aero assessment. I had to use the power button to power off. Restarted, boot time seemed too long but I didn't time it. Got into windows, checked the msconfig settings and they hadn't changed. Choose to shutdown. It said it was installing an update, which is daft because I have had the wifi turned off through all of this and the NIC is not plugged in! Timed it when I turned it back on and boot time up to 59s. Shut down again. Upon startup boot time now at 49s. I'm going slightly mad.