i'm nearly positive this shortening is caused by the fat32 filesystem. in NTFS and such it will not shorten (this is probably why in 6.17 it never shortened for the person who reported that).
there was an extension to the fat32 file system added around windows98 i think that allowed the full path data to be stored, so full path data is stored, but short file names are still used internally. for example
C:\Program Files\
is really C:\Progra~\
and if there's another like C:\Programs
it will be C:\Progr~1\
i am not sure how fat32's new extension stores the full path data, but i know it's stored somewhere... maybe because of this there is a way to more easily. always return the full path. the full path in windows should always work just so long as fat32 has those extensions (win98 and higher i would think).