lcd.setCursor(5,1);
lcd.print("pippo"); //------------- VISUALIZZA LA VERSIONE ---------------
delay(1000);
It should scroll in the first sentence, then display the second. The problem is that after scrolling nothing will be displayed until a lcd.clear()! But doing so, it will clear the first sentence...
Since you haven't shown us the full sketch we don't know the configuration of your display, but I assume it is not a 20x4 or your description of the problem would be different.
You have to know the relationship between the memory layout in the display controller and the physical layout of your display in order to fully picture what is going on. If you really want all the gory details then follow the LCD Addressing link at http://web.alfredstate.edu/weimandn.
You also have to understand the fact that what the Arduino community calls 'scrolling' is actually called 'shifting' in the LCD controller datasheet if you go there for help.
Let's assume you have a 16x2 display. This means that you can display only 32 of the 80 memory locations available in the LCD controller. Basically, when you shift the display you are moving a 'window' so you are looking at a slightly different block of the 32 out of 80 memory locations. If you shift it 14 times then almost all of the memory locations that were originally visible are out of the window.
Now we have to look at how the cursor is positioned. The controller only knows about 80 memory locations and they have sequential addresses (with one gap). They are not arranged by row and column since the same LCD controller is used for all of the different physical display configurations.
The LiquidCrystal library knows how to convert row and column info into memory addresses but it looks like it does not take into account any shifting - so yes, it does have an error as you mentioned in your title. This doesn't really surprise me since the library doesn't properly deal with 16x4 cursor positioning, even without scrolling.
You may be able to fix up your sketch by keeping track of how many shifts you did in the loop and then adding that value to the column information when you position the cursor for your second row message. If that doesn't work then try telling the library that you are using a 40x2 display.