Thanks very much for your help. I discovered the mystery file is a hidden .DS_Store file that occupies a Mac directory when one or more files is deleted, which I confirmed in my directories using Terminal ls -a to reveal hidden files. I renamed the file list in my previous script, then modified your suggested syntax to filter away the .DS_Store file (see blue script below). The script counts files properly and avoids the mystery "" file.
The goal is to automate file processing on a selected folder containing target files. I was working through an alternative approach to select only files with the desired .txt extension, which might also exclude other "contaminating" files in a directory, but since your suggestion worked I'll likely continue with it.
I would call this a Mac bug rather than a JMP bug, but I suppose that's arguable.
Names Default To Here( 1 );
TargetDir = Pick Directory();
Files = Files In Directory( TargetDir );
TargetFiles = Filter Each( {filename}, Files, filename != ".DS_Store" );
N_TargetFiles = N Items( TargetFiles );
Show( N_TargetFiles );
For( i = 1, i <= N Items( TargetFiles ), i++,
sample = Left( TargetFiles[i], Contains( TargetFiles[i], "." ) - 1 );
Show( sample );
);