I think I understand... (Though not sure, if you use Anchordocking, and if any of it is related to anchordocking)
But, I don't think the default behaviour should be changed.
"Step in" / "Step over" act on source lines. They result in the debugger stopping (on a line) in the Pascal source code. Therefore they should focus and bring to front the source window.
"Step ... instruction" acts on assemble code (but you may have to do many, for one line of Pascal). And they should focus and bring to front the asm Window.
Your situation as I understand it, is quite particular.
- You want to step Pascal code
- You want to see the assembler code relating to the current line of Pascal code
- You have overlapping Source/asm windows.
In fact, on the last item: Not just overlapping. But both maximized (leaving space for the main IDE bar), meaning you don't want to see the Pascal source at all.
As I said, the behaviour of normal stepping to go to the source editor is essential. At least as default.
Stay on top seems like a natural solution. Except it affects other windows, and doesn't prevent focus.
Not sure how to best solve... need some brain storming.
If editor macros could wait for the debugger to finish the step, then you could have a macro to refocus the asm window, but even then it would flicker.