sometimes the file system can be a real pain. sometimes this problem can be caused by corruption in the file name or the file name being longer than the limit due to a program error .
if all else fails then move all other files and directories out of the directory where the file is then delete the directory.
I have on occasion found that this is the ONLY way to delete a $%$£'ed up file

. only problem is if it's in the root or the windows directories.
( I have seen programs to delete these problem files but the directory deletion is the way I would prefer to do it )