I tried all of the above mentioned tweeks to no avail. I eventually phoned Microsoft and although I had seen this KB article, because I was unable to complete step 1 I did not proceed to step 2 which is a list of registry changes.
Here is the article:
http://support.microsoft.com/kb/324446It basically has you set maximum and minimum workload thresholds on the terminal server and add a key which refreshes a sessions registry file frequently.
I could not do step 1 of the article because of the raid array the drives are running on but the chap from microsoft said they consider it good practice to make the changes mentioned in step 2 if you encounter problems on terminal server.
So thanks for all your suggestions anyway but this aKB article fixed it.