atmega328 + LCD 16x2 - nothing shows in void loop

I have never used, or seen anybody else use lcd.display() or lcd.nodisplay() before and I really don't understand why you are using it here.

That command seems to allow you to either display a specific message or not display that same message without the need to re-write it each time you want to display it.

In your case you are immediately writing a new message immediately after restoring the old one but, as was implied in the preceding answer, the new message is appended to the old one. So at least at some point you are going to be sending information to locations that are not visible on your 16x2 display.

Don