Today, I got a spare 3c589D card to play around with. It works perfectly fine, whereas my own card still doesn't.
But now I realised for the first time, that my card is actually a 3c589D-TP (for 10BASE-T only) as opposed to the 3c589D (for 10BASE-T and Coax). Could it be that the transceiver detecting/setting part of the 3c589_cs driver does not handle this "stripped" (i.e. crippled) card correctly?