There is a chance that your program issued a DXL READ “too soon” after a DXL WRITE, i.e. same issue mentioned in this post
This user’s solution was to use SyncWrite and SyncRead.
I have an older post testing SyncWrite and SyncRead on four DXLs in Arduino at this post
Perhaps you can try to adapt it to do the same test but with 3 DXLs for your situation?