Hola a todos
Gracias a todos y en especial a Roman por su ayuda!
Lo consegui, la solución es simple! Adjunto el fragmento de código con la corrección del método de como solucionar el problema y allí explico el porque!
Código:
procedure TDBGridOrca.SetColumnAutoSize(const Value: Integer);
begin
if Value = FColumnAutoSize then Exit;
// Necesito comprobar el estado del componente. El componente se
// carga con los valores del tiempo de diseño y estos son correctos, claro,
// como se esta cargando y no se puede controlar el orden de creacion de los
// campos asigno directamente los valores sin validarlos.
if (csLoading in ComponentState) then
FColumnAutoSize := Value
else if Value > (Columns.Count - 1) then
raise Exception.Create('No existe la columna.')
else
begin
FColumnAutoSize := Value;
LayoutChanged;
end;
end;