We block accounts and IPs that are unable or are unwilling to control themselves and behave in a productive manner.
If someone is enough of a harm to justify a technical block from "X" then they really should be blocked completely. We are not so short on people that we should be accepting harmful folks and trying to limit them technically to the spaces where they will only do the least harm. ... Harmful users should be blocked.
We enforce bans with blocks, why not enforce topic bans with topic blocks? Also, our advice regarding conflicts of interest is to edit the talk page instead, why not enforce that with code?
I might take a look at the relevant parts of the code and see if I can implement something along those lines.