Get a views result using PHP code, and iterate the proper way
It's not very different from what you do, but here's example code from a project of mine, showing how I usually do it

$view = views_get_view('a_view');
$view-&gt;preview('panel_pane_1', array($node-&gt;nid));
foreach ($view-&gt;result as $tid) {
  print $tid-&gt;taxonomy_term_data_taxonomy_term_hierarchy_tid;
}


Based on the function documentation


  To be called externally, probably by an AJAX handler of some flavor. Can also be called when views are embedded, as this guarantees normalized output.


I've always assumed that preview() is the proper way to do it, and it has served me well on a number of occasions.