Your method will disable the field. "allowEdit" is quite a generic name, I would rename it to "allowEditFIrstName".
You have to override active() method and call your method there, AX will call active() for you whenever user select a record in a grid, so don't worry about calling active() manually.