Merge performs always additional INSERTS
I found the issue myself.

It was NULL values in the compared columns that could not be matched with one another. After adding ISNULL function around source and target to replace NULL in case it is there, it works as expected.

 MERGE INTO [Z].[IAPP] AS Target
    USING ( 
        SELECT 
    [SXD],[UUZQ],[SSRTD],[AAFFT],[IID] From [Z].[vIAPP] 
    ) AS Source 

([SXD],[UUZQ],[SSRTD],[AAFFT],[IID])

  ON (
     ISNULL(Target.[SXD],'nul') = Isnull(Source.[SXD],'nul') AND isnull(Target.[UUZQ],'nul') = isnull(Source.[UUZQ],'nul')  /* etc. */
    )
            WHEN NOT MATCHED BY 

TARGET AND @Action = 'UI' THEN
            INSERT([SXD],[UUZQ],[SSRTD],[AAFFT],[IID])
            VALUES(Source.[SXD],Source.[UUZQ],Source.[SSRTD],Source.[AAFFT],Source.[IID])
        WHEN NOT MATCHED BY SOURCE AND @Action = 'D' THEN 
            DELETE;