in execute(), there is no "is_cacheable()" condition yet. I don't really know if it is a fail of entityreference module by calling display_execute, or a logical bug in views. But the fact is, though the $view->is_cacheable is false, after you call display_execute, the cached view will be returned.
FAILED: [[SimpleTest]]: [MySQL] 1,625 pass(es), 2 fail(s), and 208 exception(s). View