A diferença é que o Cygwin sabe como processar os chamados nomes de caminho "Win32". Falando livremente, ele sabe que "\" é um separador de nome de caminho e não um caractere de escape de shell como é no Bash. O erro que você mostrou é Bash interpretando "\" como um caractere de escape. (Edit: você pode tentar substituir um \ com dois, escapando da barra invertida, para que Bash passe o comando para o reg.exe corretamente.)
Tendo dito isso, enquanto o Cygwin usa nomes de caminho do Windows, não gosta de fazer isso. A documentação avisa você sobre o uso deles. Claro, um pouco de volta deslizando de vez em quando não faz mal. Mas enquanto você pode executar programas do Windows no Cygwin, a higiene sugere que você execute programas do Windows no processador CMD.EXE e UNIX no Cygwin para sua sanidade a longo prazo.