ok, all I can think of off the top of my head is the extention thing. Basically, when you find out what the name of the file is, and before you print it on the screen you would use this code (string$ is the name of the file)
for i=1 to len(string$)
if mid$(string$,i)="."
value=i
next i
value=value-1
string$=string$-right$(string$,(len(string$)-value))
this should work. You could also just simply remove the last 4 digits(so that you remove the . too) but that would create a problem if the extention is more than 3 digits. This doesn't happen very often, but sometimes programs will use their own special files with longer extentions
for your other question, about clicking on the names (i am not sure exactly how to do this but i will give you what I think would work), you would need a way to create/use a scrollbar (don't ask me how...i don't know). Also, since you know how tall a message can be (don't know off the top of my head but not hard to figure out), you can take a screenshot of the screen after the dir command(save bitmap command) and then(using the get image command) grab the different lines of text as images (so that you can check for collision with your mouse). You would grab as many images as there are files (for->next loop using a counting variable that you found when you first printed the list on the screen). There is probably a better way to do this but this is all that I could think of.
hope this helps!