I don't know if this is because the cygwin python needs sh for spawning external programs. Someone with a native python should perform the test.
Under linux, when sh is removed, lyx2lyx does not work, although there is no sign of sh being called in lyx2lyx. You are right, we need to test native lyx build. Bo