I just upgraded my pcmcia from 3.1.0 to 3.1.3 (kernel = 2.2.5-22, Inspiron 7000) because I was having trouble starting and stopping pcmcia repeatedly. Under 3.1.0 and 3.1.1 there was a problem with the interrupt allocation that looked like the available interrupts were disappearing. When I had the CardBus controller try a PCI interrupt it worked through one restart and then gave the same problem.
The new version 3.1.3 seems to have fixed that problem, but I ran into some minor problems with my network configuration. Basically, something was wrong with the network configuration when configured by the pcmcia network script. If I bypass the pcmcia network configuration by commenting out the network parameters and putting ifup eth0 in the start_fn (similarly ifdown in stop_fn) then the network gets configured correctly, and I can start and stop card services repeatedly.
To get pcmcia to cooperate with apm I had to put sleep 10 before and after the calls to /etc/rc.d/init.d/pcmcia stop(and start) in the apmd_proxy script. I could not get cardctl eject and insert to work with apm--eject worked, but I had to manually remove the card and reinsert it after I did a resume. I tried it with some pauses around cardctl eject/insert, but that didn't work.
These fixes allow me to move around without rebooting my machine but they're not optimal. I'll be glad to provide log messages to anybody who's working on this more seriously.