In absence of Dom, I'll try to answer your question, even though I cannot speak from first-hand experience here (I never did a two-leg flight based on "Route" from despatch).
In general, the procedure to fly from A to C, with a stopover at B, is as follows:
1) Fly A to B like any other flight with Flight logger, but do not PIREP (as your destination is C)
2) Before shutting down the PC, safe the FL flight (Push the top button => File => Save) Give the file an understandable name
3) After that, save the FS flight
4) Shut down the PC
5) Sart FS again, load the flight as last saved
6) Start FL, the last FL flight should load automatically; if not, push the top button, File=> Open, and open the saved FL file from point 2)
7) Fly B to C as normally

file the PIREP at C, like normally
Now, I thought the "Route" feature chose two legs from the regular time table, so filing PIREPs for each leg separately should work anyway. If I assign myself a 2-leg "Route", I see the first leg in my "Assigned" flights, so that should be a single, PIREP-able flight, followed by the second flight in my "Assigned" flights list in FL as a separaratey PIREP-able flight.
So I now understand that you PIREPed the first leg, LGAV-LFSB, but did not see the second leg, LFSB-LPPT, as an assigned flight after that. I would have done exactly the same as you did, and I have no reason to think there's anything wrong with that approach. It should have worked.
So then we come to the internals of FL, and the interaction with the database that is maintained "behind" the website. Maybe Andrei or Alexander can shine a light on this? Because I think we know the correct functionality, but things did not work that way for Andy here.