So, you're changing the PK? Or you're generating new rows with new PK values?
Regardless, since you can't change the contents of the deleted/inserted tables that means you're modifying the base table. ("Duh, Mark!" ?)
Any chance nested triggers could make coding a bit easier?