Well I'm a bit embarrassed.
It's been pointed out to me by a better coder that the vB function "fetch_array" suppresses errors so it's actually redundant to check with num_rows. That's what happens when you assume things! I've updated the article to reflect this and changed my recommendation over this.
I'm going to benchmark error suppression and num_rows later to see if vB using error suppression is actually faster.