Techlord,
I'm very visual too. But you do more glamorous design. I reduce it mostly to the required parts and do not so good design. I work with an Aiptech Notpad also to draw down directly and later to transfer it onto my computer.
Our ideas are very similar. I also use one hostserver (the LINUX server) and multible gameserver. In my design I can double the hostserver too. Specialy to have an additional MySql server if needed. You wrote that you plan to let 512 clients run by one gameserver. How you come to that number?
I worked with Lawmaker, Crysal Space and a few other Engines until now. (I try them out!) I always found forum entrys like "can that engine do mmog?". In all cases the answer was "yes". The next question was "how many players can be done by a server" and there is mostly no answer on that point. You know why?
It's not a thing of the engine to limit that. It's the network bandwith that limits the players per server. After understandig that you must think over the conditions of you server hardware and provider. The network cards (today) allow 1 Gigabit bandwith but the most providers limit you at 100 Megabit. So let me calculate: About 20% - 30% of the traffic is network protocol. 100 Megabit - 30 Megabit = 70 Megabit. Now transform it in Byte. 70 Megabit / 8 = 8,75 Megabyte per second transfer rate. Now we come to the point! How many byte per client you have to transfer per second? If you do 100 kbyte = 0,1 Mbyte you can do 87 clients.

What only 87? Yes that's the fact. Now we see how we can increase that number. 100 kbyte is a lot amount you must not transfer. When we reduce it (and that must be planed) to about 10 kbyte and maybe we can comprimice that to 8 kbyte before sending to the client we come up to 1093 clients. That sounds a lot better.
The fact is not the engine will define the client numbers but your networkdesign will do!
In the above calculation we spare out that we will have additional traffic by the update system for all that clients. That's why I think of an addittionel ftp server just to have full bandwith on both sides.
You can reduce the bandwith usage by using two network cards. By splitting outer network (clients) and inner network (gameserver to host server). The inner network will be (using an aditional 1 Gigabit hub) much faster and don't reduce the bandwith to the clients.
So we see planing is very importand before writing code. The code must fit to the planed harware configuration.
To answer your question about what modules I plan to bring up. It's not clear finaly but a few I know now:
1.
Generaly MySql module.
2.
Update module.
3.
Trading module (for both player and NPC in one module.) Using MySql too but is fixed to the duty.
4.
Guild/Clan management modul. Using MySql too but is fixed to the duty.
5.
A module that will handle all dynamicly placed 3D Objects. Using MySql too but is fixed to the duty.
6.
A module that will calculate if the player succed doing things. Using MySql too but is fixed to the duty. Like open a close door. Hitting an enemy and so on.
7.
A module for chat and EMail in game. That module should also handle Mails from outside and forward it into the game and in the other direction. Using MySql too but is fixed to the duty.
8.
A module to generate http files. For automatic entrys in player depended info pools but alo to let players see what is going on in game. Using MySql too but is fixed to the duty.
9.
The invertory system is build as a module. Using MySql too but is fixed to the duty.
In future I will found more modules to do or to bring new posibilitys inside the game. Most players left a game when they came to be boring of the content because it is always the same things they can do. So I plan to do a lot of dynamicly content.
The great amenity by using modules is that the will fit into each game you may think of. At the end you have "only" to do the 3D-side and changes prefaps and objects to change to a new genre of game.