Primero, usa Text, porque de esa manera estás añadiendo la sentencia en cada pasada por esa parte del código, ya que no lo limpias.
Y ¿qué es contador?, si es una variable numérica entonces está mal, debe ser así:
Código Delphi
[-]SQLQuery1.Close;
SQLQuery1.SQL.Text := 'update posiciones set pos02='+ IntToStr(contador)+' where pos01=:1';
QLQuery1.ExecSQL;
Todo esto es exactamente lo mismo que hemos estado hablando, aconsejando y explicando en tu otro hilo, mira los ejemplos,
hay miles de ejemplos en la web.
Y lee
este libro, aprenderás todo lo que necesitas y mucho más.