Powinieneś włączyć _autoReconnect w konstruktorze mongo::DBClientConnection::DBClientConnection.
http://api.mongodb.org/cplusplus/current/classmongo_1_1_d_b_client_connection.html#a6a1a348024dd302572504b7bfb6e74a2
Zmienna _failed zwracana przez metodę isfailed() nie jest ustawiana do momentu wywołania _check Connection. _checkConnection nie jest wywoływane, dopóki coś nie zostanie wysłane do bazy danych, więc jako alternatywę możesz wywołać polecenie ping przed wywołaniem _isFailed. Jednak zalecaną poprawką jest włączenie _autoReconnect.