> It's possible to use OpenPGP in instant messaging [0] and it works fine (transparent encryption and decryption in a client)For some definitions of "possible" and "works fine", sure. But OpenPGP is not natively designed for instant messaging. You can use OpenPGP as the public-key component of a cryptosystem that is suited for instant messaging, but at that point you're better off just going with an OTR protocol that already has the key-exchange and secret-key encryption functionality baked into it.
Beyond that, the page you're citing mentions this:
> The method defined herein has the following security issues:
> Key exchange relies on the web of trust model used on the OpenPGP keys network.
> There is no mechanism for checking a fingerprint or ownership of a key other than checking the user IDs on a key.
> When the recipient is not mentioned in the encrypted body, replay attacks are possible on messages.
> Replay of the signed <presence/> status is possible.
> It relies on signing or encryption of XML character data; therefore, it does not support signing or encryption of <iq/> stanzas, and it allows signing of the presence <status/> element and encryption of the message <body/> element only.
> Thus the method is not acceptable when signing or encryption of full stanzas is required.
It does not enable both signing and encryption of a stanza, only signing of the presence status and encryption of the message body.
In particular, the warts of using an asynchronous protocol for a synchronous communication system are exposed here: you can replay the signed presence status, which sort of defeats the purpose of having an open connection. In a secure, synchronous communication channel, the "freshness" checks incorporate non-repudiation. This is before we even address the problem of not being able to verify key ownership aside from the user IDs.