I've taken a look in the console logs and have posted a portion of them on the apple support communities.
This following log is just as the first boot fails and the second boot starts from the system.log;
Dec 18 18:28:03 Shockwave UserEventAgent[11]: servermgr_certs[11] -[CertsRequestHandler(HelperAdditions) identitiesFromKeychain:]: SecItemCopyMatching (err = -25300)
Dec 18 18:28:03 Shockwave com.apple.UserEventAgent-System[11]: SecItemCopyMatching: The specified item could not be found in the keychain.
Dec 18 18:28:03 Shockwave UserEventAgent[11]: CertsKeychainMonitor: ready to process keychain & timer events
Dec 18 18:28:21 Shockwave fseventsd[19]: Logging disabled completely for device:1: /Volumes/Recovery HD
Dec 18 18:28:22 Shockwave configd[16]: SCNC: stop, type PPPSerial
Dec 18 18:28:22 Shockwave mDNSResponder[13]: mDNSResponder mDNSResponder-320.10 (Aug 2 2011 19:56:51) stopping
Dec 18 18:29:50 localhost UserEventAgent[11]: starting CaptiveNetworkSupport as SystemEventAgent built Jun 13 2011 17:29:21
Dec 18 18:29:50 localhost UserEventAgent[11]: CertsKeychainMonitor: configuring
Dec 18 18:29:50 localhost UserEventAgent[11]: WirelessAirPortDeviceNameCopy(): no BSD interface name found for object 12807
Dec 18 18:29:50 localhost UserEventAgent[11]: CaptiveNetworkSupport:CaptiveSCCopyWiFiDevices:388 WiFi Device Name == NULL
Dec 18 18:28:59 localhost bootlog[0]: BOOT_TIME 1324232939 0
Dec 18 18:29:01 localhost com.apple.launchd[1]: *** launchd[1] has started up. ***
Dec 18 18:29:01 localhost com.apple.launchd[1]: *** Verbose boot, will log to /dev/console. ***
Dec 18 18:29:44 localhost com.apple.launchd[1] (com.parallels.desktop.launchdaemon): Unknown key for boolean: HopefullyExitsFirst
Dec 18 18:29:52 localhost airportd[27]: _processDLILEvent: en1 attached (down)
Dec 18 18:29:53 localhost UserEventAgent[11]: CaptiveNetworkSupport:CreateInterfaceWatchList:2788 WiFi Devices Found.
Dec 18 18:29:53 localhost UserEventAgent[11]: CaptiveNetworkSupport:CaptivePublishState:1211 en1 - PreProbe
Dec 18 18:29:53: --- last message repeated 2 times ---
Dec 18 18:29:53 localhost mDNSResponder[12]: mDNSResponder mDNSResponder-320.10 (Aug 2 2011 19:56:51) starting OSXVers 11
This next portion is from around the same time from the kernel.log;
Dec 18 18:27:36 Shockwave kernel[0]: AirPort: RSN handshake complete on en1
Dec 18 18:27:39 Shockwave kernel[0]: AppleBCM5701Ethernet: 0 0 setFixedSpeed - logic error, speed any?
Dec 18 18:27:42 Shockwave kernel[0]: Previous Shutdown Cause: 5
Dec 18 18:27:42 Shockwave kernel[0]: NVDANV50HAL loaded and registered.
Dec 18 18:27:43 Shockwave kernel[0]: DSMOS has arrived
Dec 18 18:29:50 localhost kernel[0]: Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
Dec 18 18:29:50 localhost kernel[0]: vm_page_bootstrap: 941609 free pages and 33239 wired pages
Dec 18 18:29:50 localhost kernel[0]: kext submap [0xffffff7f8072e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800072e000]
I've tried resetting the SMC and I've tried a "safe boot" - however the problem still persists in the "safe boot"
If you require the whole log - I won't be at my computer until later this evening...
Its wierd - if I reboot the machine and it starts up, it'll fail and restart itself and then start normally. However, I have the "password on boot" enabled, so if the computer restarts on a failed boot and then at the password screen I select shut-down the next time I boot up my machine is boots fine, it only appears to happen if I shut down from the full boot of the operating system.
I also have a bunch of messages appearing about "PID" just before the restart and I can't find those messages in a log anywhere to find out what the error message that appears to make the laptop restart.
Thanks for your help.
Al