it's a bit hard to troubleshoot your app without seeing it, but here is what I think is happening:
1. Your never verify that OID_METER remains the same from the previous records. So, you might be picking up the values of peek(VALOR) from the previous meter ID. In order to avoid that, your formula should be:
IF(Peek(OID_METER) = OID_METER, peek(VALOR), null()) as [Last VALOR]
2. Your data is sorted by OID, Date, and Time (in descending order), but your data in the screenshot is not sorted by Time, hence the "previous" values look confusing. If you sort your table on the screen the same way you sorted your data, it will look less confusing.
If you need a deeper analysis, please post a sample of your App.