1. Any unused command code with FCCOB0[bit6] == 1 (E.g. FCCOB0 = 0xFF) causes the issue (execute FCCOB0 = 0xBF does not cause core lock-up and only sets the ACCERR).
or valid commands like Program Phrase that try to write in an unaligned address of P-Flash (Program Phrase that try to write in an unaligned address of D-Flash does not cause core lock-up and only sets the ACCERR).
2. FTFx_FSTAT |= FTFx_FSTAT_CCIF_MASK;
note: (FTFx_FSTAT_CCIF_MASK = 0x80)

It works like you said but the RM (Rev. 14) section 36.4.4.1.2.4 statement is different.
Also RM section 36.5.9.1.2 is like what you said.
thanks