How do I add repeating dates programmatically?
Add [] to the end of the data field.

eg. 

    foreach($vals-&gt;field_event_date as $fed){
        //notice the []!
        $node-&gt;field_date_of_event['und'][]= array(
            'data1' =&gt; $fed-&gt;data1,
            'data2' =&gt; $fed-&gt;data2            
        )
    }