<p>Ive recently been asked to recommend a .NET framework version to use in a (GUI based) project for an XP machine.</p>

<p>Can anyone explain the differences between all the .NET versions?</p>

<p>OR,</p>

<p>Does anyone have a good reference to a site that details (briefly) the differences?</p>

The short answer is that it depends.
.NET 2.0 is the oldest version you should be considering.
.NET 3.0 is an easy upgrade path from 2.0, not the same amount of breaking changes as from 1.1 to 2.0.  However it is more of an extension, horizontally of functionality, and you would not see a huge shift in graphical options.
.NET 3.5 should be looked at if you are interested in much more sophisticated gui such as sliverlight.  It has a lot more new technologies and options to offer including WPF, a new IDE in Expression and much more.
http://www.asp.net
would not be a bad start.