<make sure that your vertext normals point in the same direction as your face normals>
You could do, but unless the file format has the normals embedded, it wouldn't do much good.
Give this routine a try:
http://www.blitzbasic.co.nz/codearcs/codearcs.php?code=975
And tell the users 'If you want a hard edge between polygons, unweld the vertices'.
Hopefully that should sort it out.