Well it looks right. It seems like if the OBX is a required segment, at least an empty OBX would precede the second ZL1.
Are you sure your translation is using the outbound format like the one you show?
Did you save the format?
Did you cycle the process, or run the message through a test translation?
There aren’t any other procs deleting extra OBX’s are there…?