In library WiFiNiNa/util/wifi_drv.cpp, in function WiFiDrv::getConnectionStatus(), there is this:
// Wait for reply uint8_t _data = -1; uint8_t _dataLen = 0; SpiDrv::waitResponseCmd(GET_CONN_STATUS_CMD, PARAM_NUMS_1, &_data, &_dataLen);
An unsigned int can't have a negative value, so _data is set to 255 instead of -1.
I haven't figure out why yet, but waitResponseCmd sometimes times out without setting _data (I set _data to a new value prior to the call), so the function returns a value of 255, which is WL_NO_MODULE. This is obviously not the correct value.