We never tested cygwin. We use run.bat under Windows, run.sh under linux.
Btw I compared 2.2.0 to 2.3.0 and the only real difference is in phenix.sh. 2.3.0 added this code:
if $cygwin; then
JVM_EXT_DIRS=`cygpath --path --windows "$JVM_EXT_DIRS"`
Try removing them and tell us if it works.
Btw I don't understand. That code seems to be added to fix cygwin compatibility, it is weird that it instead did the opposite.
If you could investigate also on the real problem and provide a fix to the 4 lines above it would be useful.