Sorry about that, but yeah you have to use the return vs any pass by ref thing.
For sub array things, it has to be passed the sub array, so something like (if I understand what you are asking)
function integrate_menu_buttons_sauce(&$buttons, &$menu_count)
{
$insert_after = 'calendar';
// Define the new menu item(s)
$new_menu = array(
'sauce' => array(
'title' => $txt['tasty'],
'href' => 'go here',
'show' => true
)
);
$buttons['home']['sub_buttons'] = elk_array_insert($buttons['home']['sub_buttons'], $insert_after, $new_menu, 'after');
}