Quote from the Help file :-
TCustomGrid.Columns The properties of the columns in this grid
Description
The Columns property of a grid refers to the physical column in the table, and determines its size, shape, colour etc. It should not be confused with the COLUMNS construct frequently used in SQL programming, which refers to Fields of data. The contents of Fields can be displayed as Columns in a Grid, but they must be seen as separate and distinct. It is irrelevant to refer to the colour, font or width of a data field from a database, but these are all very relevant in specifying the appearance of a column in a grid.
In other words your routines are doing what you tell them, but the Columns collection carry no data!