Bueno... probablemente el método Lookup deje el dataset en el mismo registro... no se, pero dandome una vuelta por el código de la vcl, he visto que, al menos en la implementación del BDE (TBDEDataSet) en la unidad dbTables.pas, internamente se mueve el cursor para ubicar el registro (hay otra forma?)
Esto tiene el efecto de hacer post antes de poder mover el cursor. Desconozco otras implementaciones, y no tengo tiempo para buscar ahora, pero estoy convencido que siempre harán post primero.
Por ello, como ya dije antes, es mejor valerse de otro dataset o de un query direto a la bd.
Hasta luego.
