There are no checks needed as the upgrade scripts are created based on tables of the previous versions. I know which tables with which fields are available and upgrade them as needed.
If you have any problems with upgrades it means that you manually modified any tables in your database.
The line
ALTER TABLE `ip_invoice_items` ADD COLUMN `item_product_id` INT(11) DEFAULT NULL AFTER `item_tax_rate_id`;
Plus one on this. I have the same issue and haven’t modified anything. The previous version was my first clean install. I have backed up my database and copied all files from the 1.4.7 apart from the /application/config/database.php config file.