Sarosh,
>In the grdCustomer's AfterRowColChange Event I have tried calling the cursoradapter's CursorRefresh() and CursorFill() -ThisForm.DataEnvironment.cadOrders.CursorRefresh()/CursorFill() methods and the grid looses all its column settings because a new underlying cursor gets created each time I call CursorRefresh() or CursorFill().
You should call only CursorRefresh(), which will not destroy and re-create the cursor and should keep all your settings for the grid columns. If you call CursorFill(), you will create a new cursor for sure. CursorRefresh just repeats the last CUrsorFill() selectcmd, but without tearing down the cursor.