This is almost always due to a sync conflict. Are you strict about syncing when you open the app on a device, AND when you close/leave the app on that device, every time? Do you have any add-ons that make bulk changes (like rebuilding Filtered decks), or changes at the time of syncing, that could be interfering?
If you have changes on both devices at the same time, you leave yourself open to cards being left in an inconsistent state – studied on one device, and then updated on another device before syncing.