GTS Programs
If you have created your own Pokemon file in PokeGen, you have the option to send it to your DS via a GTS program or receive the Pokemon data from your game for later editing. IR-GTS is the program that can handle this.
The physical requirements are a wireless network, a computer on it which you have elevated privileges on (admin rights or sudo), and obviously any of DPPtHGSSBW. Python 2.7 and the program itself need to be downloaded.
To use, simply double click on ir-gts.py and let it run with python if it can (must be as admin). Then you need to modify the connections of your DS. Make sure you only have one connection to your current wireless setup (and that it works for the GTS normally). Then edit that connection turning the Automatically detect DNS off and then setting both DNS entries to the IP shown on the IR-GTS screen (make sure they are input correctly). Save that connection.
With this program, you have the option to send a Pokemon once, receive a Pokemon once, or receive Pokemon continuously. Hit the correct letter and press enter to continue.
To send a Pokemon, drag the .pkm file onto the console window, or you can type its full or relative path. Even though the BW GTS can handle Gen IV .pkm files, you should probably convert them to Gen V files in PokeGen.
When the GTS receives a Pokemon, it will reject it in your game. So you do not actually lose it. The saved Pokemon will go into the Pokemon directory of IR-GTS.