on mIRC, hit Alt + B and then go to the Colors tab. Click on Add and choose the settings: color to highlight, modes, address, etc.. That should color the @Ops and +v as you want.
About the text coloring... I think using a script is the best way.
On *:TEXT:*:[color:red]#[/color]: {
if ($nick isop [color:red]#[/color]) { echo 12 -mtbfl [color:red]#[/color] $+(<,$nick,>) $1- }
if ($nick isvoice [color:red]#[/color]) { echo 3 -mtbfl [color:red]#[/color] -mtbfl $chan $+(<,$nick,>) $1- }
}
This should work. Change the
# to a specific channel if you wish to.
Hope it helps

Zyzzyx.
PS: Dont know about the halfop matter.