That cast won't work. Try this:
*&---------------------------------------------------------------------*
*& Form SET_KEY_COLUMN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM set_key_column USING pr_columns TYPE REF TO cl_salv_columns_table
p_colname TYPE lvc_fname.
DATA lr_coltab TYPE REF TO cl_salv_column_table.
TRY.
lr_coltab ?= pr_columns->get_column( p_colname ).
CATCH cx_salv_not_found.
RETURN.
CATCH cx_sy_move_cast_error.
RETURN.
ENDTRY.
lr_coltab->set_key( abap_true ).
ENDFORM. " SET_KEY_COLUMN