Ganz abgesehen davon ob Prior funktioniert oder nicht: du könntest den Wert mit einer einzigen
SQL-Abfrage ermitteln, OHNE die Datensätze einzeln durchzugehen.
select min(TIME) from TABELLE where ID_OBJECT=:id and TIME>=:time
Außerdem gibst du keine Sortierreihenfolge an - es ist also mehr oder minder Zufall, wenn es so klappt wie du es machst.