There's only 8 audio channels shared between music, sounds, and speech. I don't know what you mean by "the function gives the wrong channel back". If you're referring to the custom AudioClip.IsPlaying() function, it doesn't return an AudioChannel at all, and I can assure you that even if it did, it wouldn't return the wrong channel.
Beyond that extender method, what other code are you currently using?