I'm mainly going to comment on the GTS system, as it's the part I like the look of most (I'm a programmer myself).
The actual GTS makes trades in two ways. One is the standard way in which someone using 'Seek Pokémon' finds a Pokémon they want, then chooses a Pokémon matching the conditions set in exchange. You have this already. The other way is when the server automatically matches two deposited Pokémon with each other, if they mutually satisfy each other's conditions. Do you have the second method implemented too?
Next, you need a better interface for the GTS, rather than only using message boxes. Do you think you could make a full-screen (well, full-window) interface? This would let you, for example, use columns for the list of Pokémon, and give a visual representation of the search results much like the DS games.
Now, I'll suggest some features that I feel are missing from the official GTS, that you might want to implement.
Firstly, improve the 'wanted Pokémon' condition selection. It irks me that you have to specify a species; this should be optional much like level and gender. To make this effective, add a few more criteria that can be asked for, such as type, ability, or a learned move. This also has the advantage of letting people add to their Pokédex using the GTS, as they can get Pokémon they haven't seen yet in exchange.
If you've ever used the official GTS, you'll know it's filled with impossible and unreasonable requests (e.g. Zekrom, level 9 and under). Adding more criteria exaggerates this, so you'll need to filter those out somehow. I suggest adding a server-side check when a request is made that checks the request is valid (for example, it would reject a request for a level 9 and under Zekrom, or a Spiritomb with Wonder Guard). This would remove the impossible requests. Unreasonable requests can be avoided by allowing users to filter results by the wanted Pokémon (e.g. blacklist and don't display offers that request legendaries or level 100s, or only show offers that request a Pokémon the searcher actually has in their PC boxes).
Finally, allow users to view the full summary of a Pokémon in the search results - I often have to trade Pokémon away again because they're hacked or have an undesirable nature/ability.
On a completely different note, I agree with those people saying the battle graphics need to be updated - they're very inconsistent at the moment. At least upgrade/downgrade all Pokémon/trainer front and backsprites to ones from the same generation (you might need to do some edits for Red's backsprite if you upgrade to 4th/5th gen).
Other than that, the game looks very promising. I love it when developers put some effort into scripting instead of just mapping; games running on plain Essentials just don't do much for me :)