This happens quite often that developers recreate the ALV tree every time, but forget to free the control objects (method FREE, not the statement FREE). Consequently, everything seems free bug at ABAP side, but the old data is still displayed, that's because the old control is still there at the SAP GUI side, "overriding" the new control.
If you really called the method FREE, then you must make sure of calling method FRONTEND_UPDATE before the refresh of the screen. Are you passing through the PBO after F4, or is it the F4 that triggers the POV only?
Debug your code to make sure which statements are executed after you press F4 (for instance, there could be the obvious error that you didn't really reload the tree with up-to-date data...)