It has nothing to do with cross compilation. (I don’t know how Cygwin produces their binaries… doesn’t matter)
But Cygwin is a fake unix environment for Windows. As such it expects unix style paths. And when you compile Subversion for Cygwin, Subversion assumes that it is not on Windows so the path processing combines multiple slashes to one.
The APR library that Subversion uses provides full Windows compatibility and Subversion itself also adds many Windows specific features, but only if you compile Subversion for Windows… which is what the Cygwin developers explicitly don’t. They explicitly disable the Windows portions to make Subversion behave as on other platforms.
This is the problem you see here.
Subversion 1.6 was very sloppy in its path handling, which required a lot of unneeded path processing all through the code. With Subversion 1.7 the path processing was completely updated to fully work with canonical and in most cases absolute paths, to avoid all kinds of errors.
In 1.6 we didn’t catch all kinds of user errors, including file://// style paths, or even file:///\\\, but for 1.7 we declared these non canonical and convert them to a supported format before we use them. But depending on the platform we use different rules. Things like ‘c:hi’ are a valid filename on platforms like linux, while they are a drive relative path on Windows. The unix/posix code in Subversion doesn’t support UNC paths, while the Windows code does.
We support a Windows version of Subversion, to handle the Windows platform.
And the Cygwin developers support their compilation… but when they decide not to use our platform support, we can’t help you.
That’s why I recommended mapping the drive (to work around the problem) or to use a proper Windows subversion client.