Unreal does not require ChanServ, or any service bot for that matter (though having NickServ/MemoServ/OperServ/BotServ[/RootServ] sit in the channel could be funny

) to be in the channel to be useful. The big honkin' S in their usermodes give them all the privileges they need - no joining, umode/chmode +o, or anything else required, and if the services were stupid enough to forget +S, they can send commands through the services "server" (under the servername, i.e. :services.* SVSNICK Target NewNick 1234567890).
Another example of this:
Cygnus IRC Services says Global always has to be +o to use PRIVMSG $*.blah, but this is not true if +S is given. In fact, if +S is present, the requirement for $server of having at least one period with no wildcards after the last period is not applied, meaning Global can send to $* without complaint from the IRCd, and it doesn't need +o.
On the same token, NickServ doesn't need +o to send SVSNICK or SVS[2]MODE, and OperServ doesn't need +o to send KILL or [R]AKILL/GLINE/TKL G (well, I don't know much on that. I think I have had issues TKL'ing from telnet connecting as "services", but I'd have to see if I can reproduce that.)
So yeah. If a user has +S and is connected to a globally recognized U:Lined server, then it is enough to do anything and everything that user wants to do to the network, nothing else required.
Stuff for +S also applies to those that use AngryWolf's m_uline.c module to make themselves U:Lined.