1. The girl is not smiling right now, but in the next instant, when she hears him, she will. Plus, right, if the other words specified the instant, the verb would refer to the given instant in the future: «улыбнись, когда прочтёшь». This is the next instant after she reads the letter, for example.
2. Well… Here «улыбаться» means more or less «быть улыбчивой». This is why I said 'always'. But it can mean that she smile 'often' is so specified (for example: «улыбайся почаще»).

She was sad, when funny dog came to her. And when she saw it comming, she улыбнулась (от улыбнуться).
How the dog explains this:
"I was returnning home from anti-greenpeace meetting when I saw a girl. She was sad, but when she saw me she улыбнулась (от улыбнуться)".

Another situation:
A man depicts a person to a policeman. "I think he is a crazy guy, because he улыбается (от улыбаться) all the time".
How the person explains this:
"Sir, I always улыбаюсь (от улыбаться), because I feel so good".

If you want a sad person to give you a smile (as a mark of confidence) you say "УЛЫБНИСЬ!"
If you give to a person an advice (to make his customers to believe him) or a command (to pretend that everything is OK) you say: "УЛЫБАЙСЯ! или УЛЫБАЙТЕСЬ!

Another example:
"The man that stood all that evenning with a serious countenance, suddenly улыбнулся (от улыбнуться) seeing smth. funny".
"The man who always улыбался (от улыбаться) became grieviously sad.

Another example:
A boy to his felow: "Have you seen this? She улыбнулась мне (от улыбнуться)".
The felow answers: "Она всем улыбается (от улыбаться)".

You cannot say "УЛЫБНИСЬ!" to a smiling man.
But you CAN say "УЛЫБАЙСЯ!"

And you cannot say "НЕ УЛЫБНИСЬ!" if you want a man to stop smiling.
If you want a man to stop smiling (or not to smile in some comming circumstances) you say "НЕ УЛЫБАЙСЯ!"

You can't use "Улыбнуться" as action of a continious character (as "He is (were, has been, etc.) smiling"). You can't use it in present tense too. It can be used only in perfect teneses and imperative mood.