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.