With the IB plugin, GET_POSITION sometimes returns 0, even when a nonzero position exists! Apparently it returns 0 to indicate that there was a problem! So if it ever returns 0, I cannot rely on the output.
Perhaps the IB plugin can support a new command, GET_POSITIONISVALID? It indicates whether the previous GET_POSITION call output was an actual position or not. 0: not supported. 1: call was valid. 2: previous call resulted in an error.
This would be especially useful for pool management.