Yes, that correct. "C:\store\testup" should be added to HFS.
I see you try in code to dereference files, but it won't work in normal use case. On my machine all volumes are mounted under C:\ and no other letters are available.
Don't really understand why you need NtfsDeleteJunctionPoint or NtfsDeleteHardlinks. Didn't find them in sources so don't know what exactly the do.
Yes, I understood what was the problem. HFS tries to use SHFileOperation in order to "delete to Recycle bin" instead of plain deletion. But this function has a bug, because it uses internally file renaming instead of file moving. This bug exists in 2K and XP. On Vista I never tried, but on Win7 it was fixed.
Also I guess that "deleteFile" function doesn't really work on folders. That's why I can freely delete files (no matter via mountmoint or via drive letter), but not folders.
So my solution - recursive deleteFolder function which can delete non-empty folders. And option in HFS to not use Recycle Bin

Then moveFile would check this option and either fail with appropriate message to user (in case delete-to-bin was chosen) or wipe them out. And this behavior would be "Known issue" that HFS can't handle because of OS limitations.
UPD:Or even better - dont use moveToBin directly. Instead write function like smartDelete(filename) which will check "use Recycle Bin" option and perform moveFile or deleteFile/removeDir accordingly. And return True/False on success or failure.
And this way your procedure will look
fs:=NIL;
for i:=0 to data.postvars.count-1 do
if sameText('selection', data.postvars.names[i]) then
begin
s:=decodeURL(getTill('#', data.postvars.valueFromIndex[i])); // omit #anchors
s:=urlToPath(s, f);
if s = '' then continue;
if not smartDelete(s) then
continue;
// begin // this code can be used alternatively
// reportErrorToUser();
// continue;
// end
smartDelete(s+'.md5');
smartDelete(s+COMMENT_FILE_EXT);
addString(s, fs);
end;