I am not sure that I understand the problem clearly. Could you please send us a fully working sample project that demonstrates the issue? The source code that you have provided is not enough to determine the exact cause of the problem. Additionally you should consider the following:
event is fired by every dock that changes its position, or index within the zone. This means that if a zone contains 3 docks and if the topmost one is dragged and dropped at the first index in another zone that contains 2 docks, the event will be fired 5 times. When the dock is dragged from the zone the other two docks will move an index up, which means they will change their position and fire the DockPositionChanged event. The other two docks in the dropping zone will move an index down which again will trigger the event. Practically the DockPositionChanged event will be fired for every single dock in these two zones. To demonstrate this I created a sample project (attached to the thread) that changes the Title when the dock changes its position. Drag the dock from the left-most zone and drop it in any of the remaining zones at the first index and you will notice that both docks will have their Titles changed.
the Telerik team