CenterPosition is a buffered property if it's in the space, but equivalent to an Internal-prefixed property if it does not belong to a space. However, after the space.Update, the CenterPosition should show the correct result since the read buffers have been updated. Is the object forced asleep somehow before that can happen?
I'll be glad to see this sort of issue disappear when v0.15.0 comes out and 'hides' the buffered stuff
The BroadPhase and GetEntities are based on the bounding boxes of entities, which are in turn based on the internal values, not buffered values.
Buffered properties should represent the most recent internal values after a space update. If they do not match what you expect of the internal values, then shenanigans are afoot. In that case, I'd recommend watching carefully the InternalCenterPosition and CenterPosition at various points in the code (before move, after move, before update, after update) to see exactly what happens when.
By the way, if you don't care about the interpolated/buffered values, you can just ignore the buffered properties like CenterPosition completely. In v0.15.0, the Entity will not expose the buffered properties directly, in favor of accessing them through a "BufferedStates" property to clarify their purpose. The remaining state properties will be the equivalent of the current Internal-prefixed properties, but with simple names like "Position" and such.
Buffered properties only really come in handy when updating the engine asynchronously, and interpolated values are just there to help smooth out graphics.