The driver only follows the specified MongoDB handshake on the first connection made to a given server. The spec requires that:
The isMaster handshake MUST be performed on every socket to any and all servers upon establishing the connection to MongoDB, including reconnects of dropped connections and newly discovered members of a cluster. It MUST be the first command sent over the respective socket. If the command fails the client MUST disconnect.
CPAM requires that connections returned from a pool have already completed a handshake, so this should not be a problem in that future. In the meantime, this ticket serves to identify that the bug exists.