I will say again: this has nothing at all to do with Anope or the users level in chanserv, if the script isn't doing what it is supposed to that is most likely due to a lack of knowledge and understanding about IRC on the part of whoever wrote the script.
another user sets mode +v <user>
level is still 10
Surely the level should be reduced to 3
Anope levels are
never adjusted just because a user gets another mode.. the level is just a means for anope to give users access to commands (eg in default setup CS OP is level 5 and CS PROTECT is level 10).. assuming a backlink between modes a user gets in a channel simply demonstrates a significant lack of understanding of how even the most basic chanserv functions work.
enter //echo -at $iif($me isvoice $chan,True,False)
result is false
I know nothing at all about mirc scripting by I am 100% certain that you are checking
your own status here and not the status of $nick.
whereas
if ($nick isvoice $chan) || ($nick isreg $chan) { halt } <<<<< this NOT is ignored
here you check the status of
$nick..
If you would just look at the code it should be clear that checking whether
$nick as voice or whether
$me has voice need not return the same because it checks 2 entirely different users..!!

And one final time: the CS level is
NOT directly linked with the modes a user has on a channel.. sure if you have level 10, (with default levels) you can set yourself +ao, but that is because the user gets access to the CS PROTECT command. the same level 10 user could just as easily remove his 'ao' modes and use CS VOICE to set +v on him because that command is accessible to anyone with level 4
and above.. he could even disable AUTOOP and not get any modes at all unless he specifically makes chanserv set them!

Bottom line: learn about IRC and Anope & double check the code before blaming the results of sloppy coding on a piece of software that has been working fine for everyone else for years..
(The above also applies to mIRC scripting: it has been working fine for many people for years, so there is a 99.99% chance that any issues are due to a poorly written script.)
And since this is not at all related to anope I would suggest, if you need help with mIRC scripting, you ask the people who actually know something about mIRC. The mIRC forums can be found @
http://forums.mirc.com