This is because you using only the first path (%dj.path) and miss the real path when you put it in the list ($nopath)

You have to change your method, one possibility could be to use a hidden list in the dialog and add the real filename :

Code:
%dj.path = $$sdir(C:\,Select Mp3 dir) | noop $findfile($qt(%dj.path),*.mp3,0,did -a $dname 1 $nopath($1-) [ $chr(124) ] did -a $dname ID_Hidden_list $nofile($1-))


And then use :
Code:
.splay -p $+($did(ID_Hidden_list,$did(1).seltext),$did(1).seltext)




#mircscripting @ irc.swiftirc.net == the best mIRC help channel