The reason the power isn't zero is because the voltage and current have the same sign, so I*V will always be positive.
So with a BLDC controller, it depends on what the controller is spitting out for the voltage and current on each phase. I doubt it's instantaneous, the data stream for that would be way too dense. I'm guessing it's RMS, which *I think* means you should be able to do P = I*V for each phase and just add them up.
For BLDC, it's going to be 2x the power for any one phase (at any given time, two phases are on and one phase is off). So P_total = 2*I*V for one phase. Then do I_battery = P_total / V_battery
This image shows how V and I are lined up (in phase) for BLDC. (here, solid lines are voltage (e) and dashed are current (i))