Fixed locking issues on channels list, causing exception in Stop method.

Not locking on channels list properly when iterating over channels in Stop method would occasionally throw an exception.  

Also where not locking to get proper count of channels in CheckScale method.  Changed from channels.Count to ChannelCount method already in file.