Maybe I wasn't clear. As long as the application starts without a mismatched baud rate everything works as expected. Now, if the application starts and there is a mismatched baud rate, the CAN bus always reports CAN_ERROR_PASSIVE, even after the baud rate is corrected on the other device. Just as interesting is that while in this state the application successfully transmits even though it's reporting a status of CAN_ERROR_PASSIVE.
We're building an application and reading it for production. We're putting it through the real world conditions we expect it to experience. Our test fixtures consist of an Electron with Carloop, a Kvaser cable connected to a PC (allows for simulating various conditions), and CAN termination.
Hope this clears up the confusion.