Why can't I import a used private key? According the the Bitcoin Wiki, when importing a private key:


  Bitcoind will rescan the entire
  block data to ensure this key has not been used before.
  This process will take from one to two minutes,
  depending on your CPU performance. DO NOT abort it before finishing!


Why is this scanning necessary?  Wouldn't this prevent me from changing from one bitcoin client to another, because that would involve importing (used) private keys from the old client into the new?
It is usually longer than 2 minutes...
Please look at the blockchain as a database storing addresses and balances.
If you have an address (privkey) from the very beginning, you search in the blockchain for records about your address.
But if you import address, which was unknown to this client, you have to go through blockchain once again, in order to search for records corresponding to this address. Elsewhere, how could you know balance of this address, if you didn't look at it before importing?
In my opinion, it doesn't prevent you from importing anything. If you want to skip rescan, use bitcoind importprivkey l12n3lj2nl2n3213lkj4n3lk4n false. You can import a lot of privkeys this way, and rescan at the end with the last address or via start switch bitcoind -rescan.
Please note that rescaning is not necessary when importing keys with 0 BTC.