It almost seems like this is a “stateful remote” (in that the data packet sent to the fan’s receiver from the OEM remote or Bond contains a full status packet for fan speed/breeze as well as light status).
See also [SOLVED] {A25-TX028} Stateful remote fan request
Are you having these random results while using both the original remote and Bond, or, after putting the OEM remote in a drawer, can you get Bond to agree on the app with the full state of the fan and light in the real world?
Once the real world and the Bond app agree with what’s what, does it remain in sync as long as you only use Bond to change the state (keeping original remote in a drawer, unused, for this test)?