There is no need to step to 1.4.2 before going to 1.7
This is the way we do our upgrades (Everyday)
Take a fresh dump of your database. Clean all your log tables.
Use the following as minimum - You can truncate more if you wish. There maybe some tables that exist, if you get an error on your truncation just comment out the table.
SET foreign_key_checks = 0; truncate dataflow_batch_export; truncate dataflow_batch_import; truncate log_customer; truncate log_quote; truncate log_summary; truncate log_summary_type; truncate log_url; truncate log_url_info; truncate log_visitor; truncate log_visitor_info; truncate log_visitor_online; ;truncate adminnotification_inbox; ;reports ;truncate report_viewed_product_index; ;truncate report_compared_product_index; truncate report_event;
;send a friend truncate sendfriend_log; ;core logs truncate core_cache; ;truncate core_url_rewrite; SET foreign_key_checks = 1;
SET foreign_key_checks = 0;
truncate dataflow_batch_export;
truncate dataflow_batch_import;
truncate log_customer;
truncate log_quote;
truncate log_summary;
truncate log_summary_type;
truncate log_url;
truncate log_url_info;
truncate log_visitor;
truncate log_visitor_info;
truncate log_visitor_online;
;truncate adminnotification_inbox;
;reports
;truncate report_viewed_product_index;
;truncate report_compared_product_index;
truncate report_event;
;send a friend
truncate sendfriend_log;
;core logs
truncate core_cache;
;truncate core_url_rewrite;
SET foreign_key_checks = 1;
I would not truncate core rewrite if you have a bunch of custom re-writes created!
Get a fresh version of Magento 1.7 Point local.xml to original database Run upgrade!
I do agree about setting foriegn keys to 0 (And leaving them there until the upgrade completes. However I would first try it with it set to 1, if you error out then set to 0.
Remember you need a new database with each attempt, you can not import into the same database, your new tables will exist and you will get an error!