Hi stevasm,
Whilst not exactly what you need, I do have a method of programming the same code to multiple 20X2 without lots of plugging and unplugging, although it does require one round of plug/unplug to get it started.
The principle is :
Connect all 20X2 together using the i2c bus.
Add a 24LCxxx EEPROM to the bus.
Load each 20X2 with a 'bootstrap' code.
Load slot#4 ( i.e. the 24LCxxx ) with the 'common' code.
Trigger the 'bootstrap' in each 20X2 in turn to do a booti2c, thus copying the 'common' code to slot#0 each 20X2.
My project does the triggering via the I2C bus, as there is a 'Master' PICAXE, and each 20X2 can independently determine it's own slave address. You could just use an input pin to trigger the 'bootstrap' booti2c code in each 20X2.
The clever part is that the 'common' code includes the same bootstrap functionality, so the process can be repeated just by 'pushing a button'.
The only limitation is the #Revision number has to be incremented in each 'new' version of the 'common' code, but at least you get 253 'downloads' before you need to do a full plug/unplug round again.
I've breadboarded this with 3 x 20X2, and my final aim is a lot more.
---
Prior to the I2C method, I did have another idea, but never tested it.
The principle still uses a 'bootstrap' code, but the programme delivery method is different, and there is no #Revision limit.
Connect all the 'serin' pins together to the download cable.
Connect all the 'serout', via diodes, to the download cable.
Probably will need some pullup/pulldown resistors somewhere.
Each PICAXE starts up and runs the 'bootstrap', which issues a 'Disconnect' to disable any download, then loops waiting for a trigger pin.
Start PE download, press trigger on first PICAXE. The 'bootstrap' detects the trigger, and issues a 'Reconnect'. The PE download proceeds as normal. The PICAXE then starts up, and issues a 'Disconnect', thus preventing any more downloads.
Repeat the process for the second, third, fourth, etc. PICAXE.
As I said, I have not tried this physically, but as long as the diode-multiplexing on serout works I can see no reason why the whole idea wouldn't work.
( I was going to use a VB prog to talk serial to a second comms bus. This would tell each PICAXE in turn to enable download. The the VB would kick off the cmdline compiler, which would download to the currently active PICAXE. )
Hope this gives you some ideas to kick around.
Cheers,
Buzby