If you can't fix all your scripts, you should be able to modify the EOL behavior in Cygwin by setting an option to ignore CRs:
set -o igncr
If you add this to your .bash_profile, it will be globally set by default when you login:
export SHELLOPTS
set -o igncr
You can also do this per script internally by putting this line just after the #! line:
(set -o igncr) 2>/dev/null && set -o igncr; # this comment is required
You need the comment to ignore the CR in that line which is read before the option takes effect.