Turns out this has nothing to do DeliverAsynch call but rather we had an action in called Service which was doing a JMS routing with unwrap='true' flag. When this flag is used only the message body at default (if no location is specified) location is copied over - hence we were loosing all other body location other than default one.
Regards
Soltar