When I look in my manual for the 'N' command code, it reads:
N command code
The N command code prevents you from replacing a segment on a path call. In
conjunction with the D command code, it lets the application program to process
multiple segments using one call. Alone, the D command code retrieves a path of
segments in your I/O area. With the N command code, the D command code lets
you distinguish which segments you want to replace.
It also reads: The N command code applies only to REPL calls, and IMS ignores it if you include the code in any other call.
There is nothing in there about it affecting the behavior of the DLET command.
So, I think what happened is that you pulled a full path with your GHU, then you use the IOAREA as the target for your delete call. That storage is the parent and child segment together, so IMS starts with the parent when deleting.