Sorry, I've been away from my computer here at my office for a few days so you probably figured out the problem already but I'll give you my response anyway:
If you use the command without the back slash after the word TEMP, for example:
x = adir(y, "C:\TEMP", "D")
It should only return 1 for the variable x. However, if you use the backslash after the word TEMP you're right it'll return the "." and ".." in the array.
Going back to the first scenario, without using the back slash, you can check
y(1,5) = "D"
the fifth element will give you the attribute of the file/directory. If it's a file it'll show "A...." and if it's a directory it'll show ".....D" or something to that effect.