If using 3.1.0.0 version you realize that Connect and Disconnect events are not raised ... it is correct ... they are not handled in the client and you need to update the library or ignore them !

I released an update M2Mqtt library (version 3.2.0.0) that lays out this oversight.

Following the code merge between the M2Mqtt client library and the future GnatMQ broker I made the mistake of including the SUBSCRIBE, UNSUBSCRIBE, CONNECT and DISCONNECT messages handling also in the client (of course without any sense) with the corresponding events.

The update is available as always on Nuget and I proceeded to update the corresponding M2Mqtt4CE component for Windows Embedded Compact 2013.