Using XRDP to access a Linux server:
I accomplished this successfully about 2 years ago using Nomad on OpenSUSE. If you must use XRDP, this is likely to be one of the easiest ways to get it up and running, but be warned that it is less straightforward than a traditional Windows terminal server. For example, the client must be set to use a color depth of at least 24; mstsc's default setting of 15 does not work. When things stopped working, I sometimes had to log in via ssh and restart xrdp, or even restart the entire server.
My impression is that xrdp has better support on OpenSUSE than on other distributions due to Novell's interest in the enterprise market. I have never tried to make xrdp work on Ubuntu or CentOS, but the impression I got in my initial research was that it would have been considerably more difficult.
Alternatives to RDP:
X11 forwarding via PuTTY is a more time-tested and reliable option for presenting a Linux GUI on a Windows machine, if you are connecting via a local area network or a fast/low-latency VPN.
NoMachine NX Server works phenomenally well and is rock-solid reliable, but requires installation of an NX client on the Windows machine. The other disadvantage here is that the free version is only "free as in beer," and you need to pay for licensing if you want support for more than 2 concurrent users.
FreeNX is an open-source NX client and server. I have no personal experience with it, but the very detailed administration guide suggests that the developers took their project very seriously. As of 4/22/2011, the most recent version appears to be 2.5 years old, so the project may no longer be actively maintained.
x2go appears to be an actively developed open-source alternative to FreeNX which may be well worth further investigation.