One issue which you may not have considered so far is that numpy array indexing of image volumes from Slicer has the indices in reverse order from what might be expected. The indices are arr[k,j,i] rather than arr[i,j,k]. If you are taking subscripted chunks out of image volumes, this could certainly lead to a different orientation than you were expecting.