I did my support call this morning, and solved the issue. Just so we're clear, I am not saying this is Microsoft's fault. However, I do think that their installer could give some more intelligent feedback to the lay person.
Basically, by reading the logs, I found that a file called CLI.exe was stopping .NET from being updated. This is a driver utility program for ATI video cards. So, if you have an ATI video card, and the .NET 3.5 installers don't work, and give you a meaningless error 1603 ( which is a generic error, and tells you nothing, which means if you google it, you'll get given all sorts of totally different solutions ), then I'd suggest stopping the video card utility and trying again. But, that just means I've added one more to the pile of wildly different solutions to the 1603 error code, because I know from googling, lots of people have solved the problem in totally different ways.
Your best bet is therefore to look at the error logs in the temp directory ( although they are quite verbose and therefore hard to read and close to useless ), or to read through the Warning and Information messages in the Event Viewer (Control Panel/Administrative Tools/Event Viewer), the errors in there are useless, things have broken by then. It's the Application list you want to select, that's where the action is.
SQL Server 2008 is installed, and it's able to connect to my SQL Server 2005 database, although it could not restore my old databases, I am guessing I need to install SS 2005 SP1 to maintain compatibility. I'll get around to that, I was able to script my website database, run the SQL, and get up and going again to do the development work I need to. I do wish that the SS 2005 would install it's client tools, or tell me why it is refusing to ( instead of claiming that it has ), but at least I had 2008 as an option, even if it means my dev machine is no longer a remotely valid test machine for my products.