xml import is best for importing pages and posts, there are problems when you try to insert using database options, when you save sql dump in a file , if there are extra characters present it won’t work and manipulating core tables is not recommended . Best way is to export as encoded text even serialized string wont work if there is a new line.
Nobody spoke about using SQL dump or SQL instructions... I think that it is not even allowed as you can see here: http://support.envato.com/index.php?/Knowledgebase/Article/View/472/85/wordpress-theme-submission-requirements . At a certain point you have this rule: The database shouldn't be accessed or modified directly. If there is a defined function that can get the data you need, that must be used instead. Use $wpdb and its methods to interface with the database instead of rolling your own.
So, as an example, here's how I add a page:
$new_page_title = 'About Us';
$new_page_content = 'This is the page content';
$new_page = array(
'post_type' => 'page',
'post_title' => $new_page_title,
'post_content' => $new_page_content,
'post_status' => 'publish'
$new_page_id = wp_insert_post($new_page);
Pretty simple, huh?