You shouldn't be using "!" as your token separator/delimiter. A channel name CAN contain "!". There's no point in adding a comma, only to use "!" as the delimiter. I'd advise you to use chr 44 and avoid that entire mess.

Doing it your way, we'd do it like this:
var %lchannel.list = $instok(%lchannel.list,$+($chan(%count1),$chr(44)),1,33)

You can clean that up by doing it like:
var %chan = $+($chan(%count1),$chr(44))
var %lchannel.list = $instok(%lchannel.list,%chan,1,33)

Making things readable is generally a good thing, especially when other people (like us) read over your code.

PS: If you were to do it the way it should be done, as in, if you used a comma, or space character as the delimiter, you wouldn't need to do the $+() stuff:
var %lchannel.list = $instok(%lchannel.list,$chan(%count1),1,44)