Hola...
El problema está que esos caracteres no son válidos para nombres de archivo en Windows...
Lo que podrías hacer es una función que elimine esos caracteres:
Código Delphi
[-]
function CleanString(AStr: string): string;
const
NoValid = '\/:*?"<>';
var
I: Integer;
begin
Result := '';
for I = 1 to Length(AStr) do
if Pos(AStr[i], NoValid) = 0 then
Result := Result + AStr[i]
end;
De esta forma la cadena
A:i400 quedaría como
Ai400...
Saludos...