This isn't a bug - when you issue an intent, such as creep.moveTo(), you're telling the server you want the creep to move this tick, and the server makes sure it's legal, and if so, returns OK. That doesn't mean that action will 100% take place though. Blocked creeps is one example, another is if you have two creeps try to withdraw from a container that only has 100 energy. Both creeps try to withdraw, both get OKs, but only one will get the energy.
The reason is that all intents are executed simultaneously (with tiebreaks), and so it's impossible for the server to know at the time you issue that intent if that action will actually not be doable - i.e. withdrawing from an empty container or moving to a blocked space. In other words, the position you tried to move to may be occupied by a creep this tick, but it could move or die in the next tick and allow your creep to move successfully. On the other hand, you may try to move to an empty position, but a different creep moves there first and still blocks the move even though it was to an open position when you issued the intent.
Hope this clears it up. As an fyi there's generally a lot more discussion on Discord than these forums - you could get an answer in #worldhelp a lot quicker than you'll get a response here most likely.