Changing table column header: In the table control on the sales order entry screen (transaction VA01), there are two columns both with the name "Purchase order date". So I use the column index in order to delete the second "Purchase order date" column. But every user places this column in a different position using user specific display variants. How do I proceed without creating a separate script for every user? (Or is the column position you reference in the GuiXT script based upon the original column position, and thus unaffected by display variants?)

Your assumption is correct: the column position that you specify in the script is always the position as shown without any table control customizing. It is therefore independent of the display variant chosen by the user.