Windows has some odd limitations when it comes to file and pathnames. Most of them are API limitations (as in, the limit is part of the documented API call), not OS limitations. Some of them go back to Windows 3, perhaps even DOS 2!
One I particularly remember: Pathnames have a limit of 254 characters. Not absolute pathnames: just a pathname. You can be in a current directory whose absolute pathname is 160 characters and you can successfully open a file using a relative path that is also 160 characters! In fact, I think a "current directory" can actually be much longer than 254 characters, but you can't change directly into it (obviously) and Windows does get a little funky displaying such a path. Explorer does not have the smarts to take advantage of this.
Also, there are similar limitations in the SMB protocol, too. I doubt you're hitting that in your case, but I've seen it in several un-related scenarios, both onto Window servers and onto Linux servers.
Adding UCS2 encoding, which is what a lot of NT3 API calls want, makes all this a whole lot more complicated. Sometimes the limit is 254 characters, sometimes it is 254 bytes.
Wade.