That's right, mining requires nodes to sign the blocks generated, and that can't do this if the wallet is locked under encryption. There isn't currently an easy workaround for this - perhaps you can keep your important (non-mining) private keys outside the node wallet, use raw transactions, and pass the private keys in to the signrawtransaction API.