Adding Plugin-specific Fields with wp_insert_post()?

@sorich87’s answer is 99% there. The difference is that All-in-One SEO Pack follows certain best practices and uses a prefix of '_aioseop_' on its meta keys. That makes the actual working code look more like this:

$my_post = array(
  'post_title' => 'title',
  'post_content' => $post,
  'post_status' => 'publish',
  'post_author' => 1,
  'post_date' => date('Y-m-d H:i:s', $oldtime),
  'post_category' => array(3,4)
);

$post_id = wp_insert_post( $my_post );

if( !is_wp_error($post_id) && $post_id > 0 ) {
  add_post_meta($post_id, '_aioseop_keywords', $keywords);
  add_post_meta($post_id, '_aioseop_description', $description);
  add_post_meta($post_id, '_aioseop_title', $title);
}

Here’s a screenshot of the All-in-One SEO Pack specific records in the wp_postmeta table of my test system using Navicat for MySQL to view them:

Screenshot of Post Meta records used by All-in-One SEO Pack
(source: mikeschinkel.com)