I couldn't get the driver included with kernel 2.4.20 to speak 100Mbps at all, so I headed over to http://www.scyld.com/network/vortex.html to download the newer version. This one allowed my NIC to experience the 100Mbps goodness in most of its glory (only half-duplex, as it turns out).
However, the new 3c59x driver doesn't like being compiled directly into the kernel, as opposed to being a module, so I hacked it up a bit to make it a bit more friendly in that respect. If you've somehow stumbled here on your own, note that these patches are entirely unofficial.
Update 2003.03.04 - The mailing list archives don't seem to exist anymore. I'll link to an mbox-style text file containing our conversation, though. Enjoy...
Update 2003.06.04 - The mailing list archives do, in fact, exist again. I'll leave the mbox up though.
Update 2003.12.15 - There's a newer version of the driver available at scyld.com (0.99Za) which seems to work better than the previous ones, and it's pretty trivial to merge in. This diff should be applied to 3c59x.c, and then make sure that kern_compat.h, pci-scan.c, and pci-scan.h are included in drivers/net (again, this is only if you're building the driver into the kernel as opposed to a module - if you're using modules you can probably just compile the driver per instructions at scyld.com), and update the Makefile to include the proper dependencies.