I'd like to expand on this on a more technical level.
Services can not directly prevent anything at all. It can only react. For example if a user on the channels akick list joins, ChanServ kick/bans AFTER they join. If a akilled user connects OperServ kill/glines them AFTER they connect etc.
ONLY the ircd can prevent anything. Now what Anope could do is instruct the ircd by setting glines, modes .. etc. For example, Anope can detect if a user has umode +q and then deny a kick. This can be done with an ircd specific module in 1.8. I've done as much in
unreal_access_levels.