I was having the same problem -- I have a couple of Sandisk cards (one calls itself Sundisk, the old name of the company) that would be recognized (two beeps) but not mounted.
The last thing in the system log would be "cardmgr: executing: './ide start hde', which I think is normal.
After much futzing around with debugging printf type messages, I discovered that the parameters to the functions were getting all messed up, because some parameter coming back from the card had a SPACE in it!
Brilliant fix? Put quotes around the parameters.
Line 42 of ide says: add_parts "$ADDRESS" "$PARTS" || exit 1 new! ---^ ----^
For good measure line 54 has rm_parts with the same thing, although this always seemed to work anyway. (This is ide 1.9, or so it says.)
Now the log has messages about "disk change detected" and a kernel message "hde: hde1" and a message from cardmgr saying it's mounted /dev/hde1 on /mnt/ide. And indeed it is! :-) :-) :-)
Also I should add that in the ide.opts I set DO_FSCK= (i.e., blank) to prevent fsck.msdos not found messages. (These seemed to be harmless but I still didn't like 'em.)
(Speaking of which, the ide.opts needed to have stuff uncommented which David had put in there as an example. It would've been user-friendly if this had been uncommented in the first place.)
Also I should add that I'm running a fresh install of SuSE Linux 6.4 plus a downloaded pcmcia-cs-3.1.11 (on the advice of some other piece of documentation that said the "no pcmcia driver in /proc/device" meant that it had to be updated/recompiled).
And now that I can finally use my PCMCIA slots again, I'm very happy -- this is what finally prompted me to load Linux on myh laptop, Win95 was just hopelessly braindamaged. Way to go David!