An incompatible topology is possible beginning in 1.9.0 when we bump our min wire version to 2 (dropping support for MongoDB 2.4 and older).
We have a risky convention throughout our code that bson_error_t pointers can be NULL, which sometimes bites us. There was a latent bug in mongoc_topology_compatible that tried to memcpy topology->compatibility_error to the bson_error_t out-pointer even if the latter was NULL, fixed as part of CDRIVER-2270. Write a test to prevent regression.