I (think I) managed to reflash the router but it is still bricked.
Here is what I did:
Got a Universal JTAG Adapter
Wire it up in buffered mode (there is no DINT pin)
The 20 pin JTAG header on the router is (I think) like this:

tjtag v3.0.2-RC2 (unsucessful)
tjtag recognises the cpu but not the flash.
According to dd-wrt wiki, the flash chip is a Numonyx JS28F640J3D-75.
So I tried forcing it with /fc:71 which is Intel 28F640J3 4Mx16 (8MB) but no go, can't read (all 0x2) or write (hang).
h-jtag v1.1

Load the following IXP425-28F640J3.hfc into H-Flasher:
FLASH SECTION:
INTEL
28F640J3
MEMORY SECTION:
16-BIT X 1-CHIP
0x50000000
0x0
XTAL SECTION:
NULL
TCK SECTION:
13
1
SCRIPT SECTION:
SetMem+32-Bit+0xC4000000+0xBD113C42
SetMem+32-Bit+0xC4000004+0x80000002
SetMem+32-Bit+0xCC000000+0x00000018
SetMem+32-Bit+0xCC000004+0x00000000
SetMem+32-Bit+0xCC000008+0x00000003
SetMem+32-Bit+0xCC000004+0x00000412
SetMem+32-Bit+0xCC000008+0x00000002
Delay+++1000
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000004
SetMem+32-Bit+0xCC000008+0x00000001
SetMem+32-Bit+0xCC000008+0x00000006
Delay+++1000
SetMem+32-Bit+0xC4000020+0x00FFFFFE
Delay+++1000
SetMem+16-Bit+0x00800000+0xFEED
Delay+++1000
PGMOPTION SECTION:
ENABLE_SKIP_ID_CHECK
I flashed the router with an 8M image which I have dumped previously using jungo-image.py, still bricked.
I also tried rb-mi424wr-ROM.bin, also still bricked.
"Still bricked" means I can't ping/telnet 192.168.1.1 (Port 1 for the original image, and WAN port for the RedBoot image)
The flash was verified to be the same as the original file by H-Flasher.
A ttl-232r3v3 is on it's way... 