I was having the same problem (passphrase asked for when sending mail, but not when attempting to read encrypted mail), but I looked in ~/.gnupg/gpg-agent.conf and found that it was asking for pinentry-qt, which did not exist (was expecting /usr/bin/pinentry-qt) installing this solved the problem, and now on reading encrypted mail, I get the pinentry window.
I was having the same problem (passphrase asked for when sending mail, but not when attempting to read encrypted mail), but I looked in ~/.gnupg/ gpg-agent. conf and found that it was asking for pinentry-qt, which did not exist (was expecting /usr/bin/ pinentry- qt) installing this solved the problem, and now on reading encrypted mail, I get the pinentry window.
kubuntu flight5, kmail 1.9.1