withCredentials no es para hacer peticiones de dominio cruzado.
withCredentials es para enviar las credenciales (cookies) que tiene, por ejemplo "www.tu-sitio.com" a "www.otrositio.com" en una petición AJAX. Tú sabes que las cookies no pueden intercambiarce entre dominios. Esta variable funciona como un "workaround" para eso.
Sinceramente nunca he trabajado con
TIdHTTPServer. Pero parece que tendrás que utilizar el evento
OnCreatePostStream del componente. El evento antes dicho te proporciona una variable llamada
AHeaders. Es ésta dónde manipulas los encabezados devueltos por la petición. Tal vez te funcione este código:
Código Delphi
[-]procedure TForm2.IdHTTPServer1CreatePostStream(AContext: TIdContext;
AHeaders: TIdHeaderList; var VPostStream: TStream);
begin
AHeaders.Values['Access-Control-Allow-Origin'] := '*';
end;
Saludos!