Disclaimer
I don't know that there is actually a solution to this problem.
Problem:
Files that are in an encoding other than the project specified encoding are read as garbage and loose anything their user code regions.
This is by design!
Yes, I'm not a file encoding wizard and everything I read seems to indicate it is difficult or impossible to accurately detect a file's actual encoding.
Why is this a problem?
Visual studio likes to occasionally change a file's encoding to ANSI (or similar) for the fun of it. I should admit that this is most common with aspx file.
By LLBLGen doesn't generate aspx files!
I've written a few custom task performers
(Lame) Workaround
Catch a file that has been overwritten and hope you have a back up in svn. Restore the code and change file to the correct encoding.
Solution?
Since it's difficult to detect the proper encoding and it's something that seems difficult to predict in visual studio, I don't know that there is a good solution, but maybe you know something I don't.
*This is all with VS2k3 and LLBLGen v1.