Can you provide detailled information for the problem please (I'm too stupid to grasp it) ?
The reason why I am asking is that I am working on an implementation of path handling in Code::Blocks which shall replace all the nasty tampering (manually replacing
/ with
\, concatenating strings, and the like) that we currently do.
Now, if there are any special quirks that I'm not aware of, it would be good to know, since I'd want it to "just work"

If I understand correctly, a pathname in Cygwin looks like
/cygdrive/c/foo/bar - in MSys it would be
/c/foo/bar. That is pretty much a "normal" Unix pathname, which should not pose a problem.
I guess as much as setting cygdriveprefix to
/ means as much as eleminating the
/cygdrive part.
So what does the path you have look like, and what
should it look like? Also, is cygdriveprefix an environment variable, or a compile-time constant, or what is it?