No tenía lo de HTTP/1.1 en el GET, por eso no veía las cabeceras xD
Ahora las veo, el archivo se descarga con ellas, puedo comprobar si es status 200, pero se siguen quedando ahí. Y no hay un comando para borrar una línea de un archivo, no? También podría copiar de un archivo dejando las cabeceras...
Lo que he hecho es que en el sockread he leído la 1º línea, si era "HTTP/1.1 200 OK" es que iba bien. Luego iba leyendo líneas hasta encontrar una vacía. A partir de ahí empiezan los datos así que he usado &cache. El problema es que tarda un montón con eso de leer líneas, además si el GET no es un archivo, sólo es texto, se añaden caracteres extra al principio y al final (por ejemplo me salía e0 al principio y 0 al final)
Entonces la pregunta es qué es lo que haces con $replace, sobre qué lo aplicas? Sobre &cache (se puede?)? sobre una variable temporal? Sobre un archivo?
Al final descargaré el archivo y copiaré línea por línea sin las cabs ^^
Saludos y gracias

Edito --------------
Descargo el archivo con &cache y cabeceras, compruebo que la primera línea sea status 200 y luego:
while ($read(%file,1)) write -dl1 %file
write -dl1 %file
Mientras que exista la línea 1 bórrala, luego bórrala otra vez
Es decir, en el archivo están las cabs, salto de línea y datos. Pues borra las cabs y el salto

(Me queda solucionar los caracteres extras que salen cuando el GET no es un archivo)
Saludos!