¿Que no hay mucho sobre update en la web?, una búsqueda de 'update sql' en google solamente devuelve 253 millones de resultados

Creo que del libro has leido poco

Y de los ejemplos que te pusimos con los parámetros... menos todavía
Tu código:
Código Delphi
[-]SQLQuery1.SQL.Add('update posiciones set pos02='+'contador'+' where pos01=:1');
Debes cambiar el
.Add por
.Text :=
O dejarlo con el
.Add pero
antes debes incluir la línea:
Si vas a usar parámetros entonces cámbialo con los parámetros:
Código Delphi
[-]SQLQuery1.SQl.Text := 'update posiciones set campo1= :elparametro1, campo2= :elparametro2 where campo3= :elparametro3';
En tu código usas 3 parámetros, sin embargo sólo hay uno en la sentencia update, el
:1 y que
además te dije que no sirve, que debe empezar por letra, no vale que empiece por número.
Todo esto son cosas repetidas varias veces por varios compañeros, ¡¡¡ Mira los ejemplos de código !!!.