My sincere thanks to the guys at http://www.mydigitallife.info for the following. I have republished here for my personal convenience only.
Step 1. Convert XP Home to look like it is XP Pro.
http://www.mydigitallife.info/2008/06/13/convert-and-upgrade-windows-xp-home-to-professional-without-reinstalling/
Step 2. Install the rdpdr driver and terminal services.
http://www.mydigitallife.info/2008/06/14/install-and-enable-remote-desktop-in-windows-xp-home-edition/
Step 3. Optionally install the multiple client dll.
http://www.mydigitallife.info/2008/06/13/enable-multiple-concurrent-remote-desktop-connections-or-sessions-in-windows-xp/
Convert XP Home to look like it is XP Pro.
1. Open Registry Editor (regedit).
2. Navigate to HKEY_LOCAL_MACHINE/SYSTEM/ControlSet00X/Control/ProductOptions, where ControlSet00X is the one with the highest number.
3. Delete the ProductSuite registry key.
4. Then, create a new DWORD value and named it as Brand.
5. Set the “Brand” value data as 0.
6. Reboot the system.
7. On boot up after the BIOS screen, press F8 to display Windows XP Startup Menu.
8. Choose Last Known Good Configuration (LNG) and hit Enter.
Windows XP will start up as usual but now think it is XP Pro allowing next steps.
Install the rdpdr driver and terminal services.
Execute devcon.exe“devcon.exe” and choose a folder to unpack the content. devcon.exe will create two folders inside the selected path – i386 and ia64.
Open a command prompt window (Cmd), and the change directory into the i386 folder extracted by DevCon. Then run the following command to reinstall rdpdr driver:
devcon.exe -r install %windir%\inf\machine.inf root\rdpdr
Restart the computer after running the command.
Run enable_tsxp.bat script to create a .reg file to merge the required Terminal Services values to registry and bootlog and reboot after patching the registry.
After reboot, ensure that the port 3389 (the default port for Remote Desktop) is open in firewall.
If automatic logon feature is enabled, disable it by changing “AutoAdminLogin” from “1? to “0? at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon.
Step 3. Optionally install the multiple client dll.
1. Patch termsrv.dll as follows:
00022A17: 74 75
00022A69: 7F 90
00022A6A: 16 90
2. Go to %windir%\System32 and make a backup copy (or rename) the termsrv.dll.
3. Rename or delete the termserv.dll in the %windir%\System32\dllcache folder.
4. Copy the patched termsrv.dll into %windir%\System32, %windir%\ServicePackFiles\i386 (if exist) and %windir%\System32\dllcache.
5. Run ts_multiple_sessions.batts_multiple_sessions.bat (in ZIP file) to merge the registry value into registery.
6. Click on Start Menu -> Run command and type gpedit.msc, follow by Enter to open up the Group Policy Editor.
8. Navigate to Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services.
9. Enable Limit Number of Connections and set the number of connections to 3 (or more). The setting allows more than one users to use the computer and logged on at the same time.
10. Ensure the Remote Desktop is enabled in System Properties’ Remote tab by selecting the radio button for Allow users to connect remotely to this computer.
11. Enable and turn on Fast User Switching in Control Panel -> User Accounts -> Change the way users log on or off.
12. Restart the computer normally.
If the Windows XP computer is connected to a domain on local networks, Windows will set the value of the regkey “AllowMultipleTSSessions” to “0? every time the computer is restarted. To ensure that multiple or unlimited Remote Desktop connection sessions is allowed in AD domain environment, the value data for “AllowMultipleTSSessions” has to be set to “1? on each system startup. To change the value, simply rerun the ts_multiple_sessions.bat every time the computer is started. Alternatively, put the ts_multiple_sessions.bat at C:\Documents and Settings\All Users\Start Menu\Programs\Startup folder so that it will be automatically run on first user with administrative privileges that logs on to the desktop. Another workaround is to install additional service or define a sub-key in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run registry branch that run the registry batch file automatically on boot up, and this is useful if the computer won’t be logged on by anybody, but still requires the hack to allow unlimited Remote Desktop users to work.
Another issue is that if user closes the remote connection instead of logging off, when he or she tries to log back in, an error message related to TCP/IP event ID 4226 may occur. To resolve the issue, download and apply the Windows XP TCP/IP connection limit and Event ID 4226 patch, and set the connections to at least 50.
=====================
Update 23/5/2010
I recently experienced problems with a new Acer e-machine where I got net connection and ecryption problems. There were two changes I made which resolved the problem although I am not certain about the change to the network card configuration.
The registry change is per Microsoft KB article "The RDP Protocol Component "DATA ENCRYPTION" Detected an Error..." http://support.microsoft.com/?kbid=323497
To resolve this issue, follow these steps:
1. Start Registry Editor.
2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TermService\Parameters
3. Under this registry subkey, delete the following values:
Certificate
X509 Certificate
* X509 Certificate ID
4. Quit Registry Editor, and then restart the server.
The second change I made ( http://social.technet.microsoft.com/forums/en-US/winserverTS/thread/3e4e9d8a-cf6a-4e7a-9072-f9ecd3f17a72/ ) was to change the Ethernet LAN card advanced configuration to disable Offload Large Packets setting.
Show all Connections -> Local Area Connection -> Properties -> Card Configuration -> Advanced
and set the following disabled: Offload TCP LargeSend