There is no way to exceed this limit when drilling on 2 dims/suppress zero. Doing a 2 step zoom is almost certainly faster (and could be *greatly* faster even if you have to throw in a small calc to return the same results).
BTW, I just did a pivot, non-suppress zero in Dodeca and brought back 803,530 rows in 2 dimensions using the default SSPROCROWLIMIT of 250,000, so Essbase has the capability to exceed 500,000 rows retrieved except when it must process suppress missing. For what it is worth, the total grid size returned from the pivot operation was 7,231,770 cells and the total time inside our server was 42.2 seconds.