It's a bit more complex than that. The issue is that the fs API mostly takes on the behaviours of the underlying file system - meaning that "cd ……" for eg behaves differently on NTFS than it does under, I dunno, say, HFS. Likewise, if your file system is case sensitive (though let's face it, for most users it won't be), you may not get the same behaviour.
rm is a bit of a special case because it first checks file existence using fs.find(), and Dan's implementation of that particular function is case sensitive regardless as to whether the file system is - "rm DeleteThis" will fail on a file called "deletethis" even if fs.delete("DeleteThis") wouldn't.
My point is that if the current file system is case sensitive, then you shouldn't need to worry about case, and filtering it is technically incorrect behaviour. Personally, though, if I had to put up with case sensitive file systems on a regular basis I'd probably consider writing an override API to filter the wretched things away, I doubt many users would notice if you applied such filters to them, and if any of them
cared, I'd be amazed if they actually had a good reason for it.
(I've not had much opportunity to test these behaviours, as I typically just play SSP on my case-insensitive machine, so some of what I say is based on inferences made from Dan's comments about certain bug reports.
Mimic offers an example of what I'd expect a case sensitive environment to act like, but being an emulator, it may not actually be accurate.)