Because crsp.msfnames is a list of changes in other files, it can have multiple rows (i.e. multiple changes) for a PERMNO. In your example, the second observation reports a change in the ticker, company name and ncusip (historical CUSIP).
To determine when the change took place, you should use crsp.stock names instead of crsp.msfnames. Stock names reveal that the change in NCUSIP took place in November of 1993. It also shows that ncusip is linked to a CRSP PERMNO only in a given period of time.
If you want to merge CRSP and IBES, please see our sample program link that creates an IBES-CRSP link table.