Can you share a file that contains pixel data? Feel free to contact me through CodePlex when you don't want to share it publicly.
I am really surprised that you need to call imageTmp.Separate(Channels.Red). Your image should already have a single channel. What does image.Channels.Count() return in your first example?
I am really surprised that you need to call imageTmp.Separate(Channels.Red). Your image should already have a single channel. What does image.Channels.Count() return in your first example?