No, it shouldn't. Pass the weapon ENTITY index. CHECK_NONPLAYER checks to make sure the entity you passed is not a player. The error message is correct, you passed id = 1 whicb is a player id and the native does not want that.
Based on "eventid" you know for which weapon the forward was triggered(you can deduce the CSW_* index). With the csw index you can retrieve the weapon entity index.
Also, what is "iPlayer"? In the forward header you have "id".