Message: [server name] disconnected. Return Code (Disconnect Reason) = 3: Your computer can't connect to the remote computer because the Connection Broker couldn't validate the settings specified in your RDP file. Contact your network administrator for assistance.

Possible cause: The load balancing cookie for the session collection may not be recognized correctly. According to one of our customers, this happened only to one session collection which was exactly 51 characters long (tsv://MS Terminal Services Plugin.1.12345_abcdefghi). The specs describe in great detail how to terminate the load balancing cookie string (see this link) but for whatever reason, it didn't work with this particular load balancing cookie.

Workaround/Solution: The workaround was to rename the session collection from a 15 character string to a 16 character string. So the session collection "12345_abcdefghi" became "12345_abcdefghij".

Message: [server name] disconnected. Return Code (Disconnect Reason) = 4: An internal error has occurred.

Possible cause: When using RDP through a Cisco ASA (SSL VPN) device, NLA can cause connectivity issues.

Workaround/Solution: Disable NLA in the connection properties in Royal TS under Advanced. You may also need to disable the requirement for NLA on the server you want to connect to (in the System Properties -> Remote).

Message: [server name] disconnected. Return Code (Disconnect Reason) = 50331677

Possible cause: 
After installing Windows 8.1 update, a connection can fail when an RD gateway server is used and a logon message is configured.

Workaround/Solution: Disable the logon message.
More information:

Issue: RDP Sessions sometimes stuck in infinite loading loop

Possible cause:
Windows Audio Service is not responding.

Workaround/Solution: Restart the Windows Audio Service on the remote machine or disable Audio Redirection.