Hi,
I remember there is a dynamic assignment of number based on the way you placed the objects in query, and that may be the cause the report is showing all zeros.
As you said the report works fine in development, i will suggest try and capture the BADI as well in the transport request and transport it to target system.
Check the dynamic number assignment by debugging the BADI code - ABAP knowledge is required.
* Note - every time you modify the query this dynamic assignment changes and you need to debug and do the correction in code for those number assignment and transport that BADI code as well.
Thank-You.
Regards,
VB