Today I took some time to configure an nx server on a system for which I am the administrator. It is a server in a library behind a firewall server.
Actually I have to access both a linux server behind that firewall and a windows server as the application they are using is windows based (and even if it runs just fine through wine, it is not enough in every case). So first I had to solve the direct access from myself to the linux server. With some iptables rules I did it (first time in my life!). It is not perfect as I am using a dial-up connection, so my IP address is not fixed and I had to enable ssh access from a wider range, but it works. ssh to the server behind the firewall worked on a non-standard port. Time to try nx. I had some problems running nxclient. For me, on SuSE 10, it showed an empty xmessage window with an OK button. :-0 I checked, I have everything installed, still nothing happens. As a last resort I downloaded the client RPM package from NoMachine. And the wonder happened: it works. Now I could enable the encryption for all traffic, meaning that theoretically I must be able to access the nxserver with only the custom ssh port open in the firewall. And for my surprise, it worked: I could log in to the KDE desktop from the library. The speed is quite amazing, I would say. I may tweak this even more for the future, but even now with a 800x600 screen it is fast enough.
I run krdc to connect to the Windows server: works and fast again. So basicly I have
now my KDE desktop, inside that another KDE desktop and inside that the Windows desktop. Amazing, I would say. The latency is a little bit high, but this is because of my modem connection (it is a 3G wireless modem, ~128kbps upload, ~300kbps download).
Good job NoMachine!
See this screenshot.

accessing windows from linux via nx
hehe... funny. You made the same "mistake" as I did when I tried a Windows/RDP sesson for the first time. I say this because you mentioned your "KDE desktop, inside that another KDE desktop and inside that the Windows desktop".
You do not need to go as deeply nested as you do. You could have your "local KDE desktop, and inside that a remote KDE desktop plus a remote Windows (RDP or VNC, which is it you use?) desktop".
The way to configure this lies with your NX client. (You connect to the remote NX server, which proxies to the Windows server; not "run a remote NX session, from inside whose window you run a remote RDP/VNC session".)
You may want to look at one of my ASCII art flowcharts to understand how this works: http://www.linuxjournal.com/article/8489
Last: you can use [ctrl]+[alt]+[f] to toggle your remote session between fullscreen and window-ed mode (that is for NX clients running on Linux). Fullscreen is a window which does not have any borders or decorations what-so-ever, and really covers your whole screen. With a fullscreen window of your remote session your local machine's desktop is completely covered. (You could even fake a Linux box to appear as a windows box to any uninitiated visitor looking over your shoulder, and vice versa).
You can also just drag the window border to resize it. And if you are in fullscreen mode, the single one pixel in the upper right corner is "magic": it minimizes the fullscreen window into the task bar.
See also the HOWTOs with screenshots here:
Good hint
Thanks Kurt, it works nicely. I'm not sure I will use this method, but it will make sense if I have to give access to the Windows box only for some persons.
Resize
If you have a recent NX client and you have a good look at the top right of the window title, you see that there is a maximize box. Click on it. As a matter of fact, you can resize the client window and if everything goes as planned, your desktop is resized too...