Isso não está relacionado ao Cygwin, mas ao grep. Você precisa definir as variáveis de ambiente do código do idioma em seu shell, como LANG.
Extraído do manual do grep (1):
The locale for category LC_foo is specified by examining the three environment variables LC_ALL, LC_foo, LANG, in that order. The first of these variables that is set specifies the locale. For example, if LC_ALL is not set, but LC_MESSAGES is set to pt_BR, then the Brazilian Portuguese locale is used for the LC_MESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS).
Tente por exemplo:
LANG=en_US.UTF-8 grep -R -n -i -e "functionFoo\(" --include=*.cs --exclude-dir=Logs *
Isso deve resolver o seu problema, e funciona para mim com o GNU grep 2.5.4 e o bash 3.2.48 (1) -release.