Avevo letto qualche articolo vedi

It is possible that the use of @@IDENTITY will not return the expected value when there is a trigger present. The use of SCOPE_IDENTITY() is preferred in this case.
e anche
Whenever you insert a record and it has auto-increment column (Identity Column in ms-sql parlance) you can user this to retrieve the id for the row you inserted:

@id = SCOPE_IDENTITY()

this ensures that you get the identity column value that your insert produced, not by the other users during the time your code was running (between insert and getting identity by *scope_identity()*)
Per cui ho pensato che facesse al caso mio.

Cio' che dici ha comunque senso e il manuale mi ha convinto.
Grazie.