Yes, it does, but you're looking at the wrong thing.
Database results are always returned as a result instance, which is a container object that contains the resultset. Only when you access the individual results the data is converted to the format you request, in this case Model_Name objects.
$resultset = DB::select()->from('table')->as_object('Model_Name')->execute(); foreach ($resultset as $result) { var_dump($result); // will dump Model_Name objects }