To make a long story shorter, it depends, and you do need to check for any of these potential situations if they are likely to occur in your program. If they're unlikely, don't worry about it. The recommendations you've heard are pretty well-known but there is always the possibility of a particular application doing things its own way... I don't know of any cases, but there must be some, if you were dealing with especially old files.