i have my gp2x development environment set up like this:
1. my linux box (i'm a linux user) has the devkit onboard .. latest toolchain script built the tools, put them in the right place, no problems. this box is named spir.
2. my gp2x (named gipi) is set up with USB Networking always on, and its connected to my linux box (spir). /etc/hosts has entries for gipi: 10.0.2.2 gipi
3. when i turn on the gp2x, spir automatically detects the CDC ethernet device, and assigns it an address (10.0.2.1 ueth). spir then automatically mounts gipi to a local share, through /etc/fstab:
//gipi/gp2x /mnt/gipi auto defaults 0 0
4. all this means is that i can simply connect gipi to spir using the USB cable, and spir has full access to gipi's disk - including the /mnt/sd mount point for the SD card, which on spir looks like: /mnt/gipi/mnt/sd
5. i build my apps on spir, and my Makefile deposits the finished .gpe+libs+resources in the appropriate place on /mnt/gipi/mnt/sd ..
6. to test, i simply pick up gipi, hit 'game', hit the .gpe .. and oila: instant gratification.
7. if i need to debug something, i simply 'telnet gipi', log in, and run the .gpe manually. i haven't automated this yet in my Makefile, but its a simple thing to do .. fortunately i'm not the sort of programmer who needs a lot of debugging time and printf()'s, but its there if needed.
again, this is a very smooth setup - but it may only be so smooth (for me) because a) i'm a linux user through and through, B) i've got no problems with getting it all set up, and c) i don't use Windows, ever. however i'm sure that its possible to have a similar setup on Windows, where Windows would see the GP2X filesystem and be able to treat it like any other mounted device, and you could build straight to the right place on the GP2X' SD card .. even probably set up a smooth hosts situation so you can just treat the GP2X like any other proper host, but I dunno how to do that on Windows, some LMHOSTS crap most likely, LOL ..