Since I'm obtaining the public key from a message, PS2H script, or BIP32 wallet I want to make sure that all secrets (Bitcoins, private keys, and privacy relating to BIP32) are maintained and no risk to privacy exists.
Though it might have changed in the revisions of BIP0032, in some situations you can put the entire wallet at risk if you expose a single private key. You basically never want that happening, both for privacy and security purposes.
You'll need somebody more in tune with EC like Gregory Maxwell to answer the encryption specific questions, in Bitcoin we only sign and never encrypt so it's something I have never researched deeply. I believe in more recent SSL ciphersuites EC is only used for the key agreement and the rest is handed off to a symmetric cipher for speed purposes.
Remember that Bitcoin addresses are usually not designed to stick around, basing any form of encryption on something that is inherently disposable is probably not a particularly wise idea. The only real use we have for message signing functions is for systems like Eligius which do have a static address already due to their function, and we need to prove that the same user is authorizing a change.