It shouldn't be possible. All search paths are hard-coded, so it shouldn't ever look somewhere that it doesn't specifically know about. I would probably double-check your VPs just to be absolutely sure you don't have the file in something by mistake.
A quick test though is to just rename data/missions/missions/ to something like data/missions/old/ and see if that makes a difference. If so then my only guess, without digging into the windows specific code, is that _findfirst is returning the contents of data/missions/missions/ because it has the extra match on the search string (the extra "missions/"). This certainly wouldn't be the first time that _findfirst was returning more results than it was told to look for, so it would be my gut reaction.
I have always used off directories like this to keep unused files as well and have never seen this issue. All real development and testing was always done under Linux for me though, which could add a clue that this is in OS specific code.