Hola,
Con el código inicial también te hubiera funcionado. Solo te faltaba, después de aplicar los filtros con el SETFILTER, hacer de algún modo la lectura a la base de datos con FindSet, FindFirst, o FindLast.
En ambos códigos, la línea TSalesHeader.Reset(); sobra, no hace absolutamente nada.
La variable está acabadita de crear, ya que es local. No es necesario hacer un Reset porque no hay nada a resetear… no la habías utilizado antes…
Un saludo,
Cristina Nicolàs