The TOP expression doesn't affect statements that might run because of a trigger. The inserted and deleted tables in the triggers return only the rows that are truly affected by the INSERT, UPDATE, ...
Running the code between BEGIN and END works fine, but when I create the trigger, I get the following error: "Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32)." ...