Perhaps you should take this up with the developer. The Cancel Macro Action exists. If you don't see a need for it, or are unable to imagine a use, then you are under no obligation to use it.
If nothing is wrong, I accept it as you told, as same as canceling standard macros.
"Please imagine which instance should be cancelled when 2 or more action block instances are running."
I image that both instances would be terminated.
Again, how is Cancel Action Block any different that the current, existing Cancel Macro Actions?
An action block is executable from 2 or more macros(or even action blocks) at the same time, while a macro is never duplicated. A macro is always running as unique one.
Each action block should be instance, working parallelly, having no influence each other or from another caller(s).
It is completely isolated. It means;
macro A -- call --> AB a -- return --> macro A
macro B -- call --> AB a' -- return --> macro B
Action Block C -- call --> AB a'' -- return --> Action Block C
Action Block D -- call --> AB a''' -- return --> Action Block D
If Action block instance E can cancel all the instances of the above ABs as you said, I can't use any action blocks safely. Now it works as a safety mechanism to avoid unintended mistakes. Don't you feel the benefit?
I don't think you would always like to cancel all. Probably you want to limit a certain scope and not at all sometimes. It is quite different things that an AB instance itself die and is killed by others. Please note that an action block and a macro(or another action block) is NOT a relation of 1:1.
If you prefer just a chunk of actions running sequentially but want to split to 2 or more parts, jumping with run macro action is suitable. You can cancel your macros whichever you want regardless where it runs.