Osclass use InnoDB database engine.
Your tables most probably use MyISAM engine.
Foreign key between table in InnoDB and MyISAM table cannot be created.
Make sure all your tables use InnoDB engine.
Test with following SQL (table prefix is "oc_"):
DROP TABLE IF EXISTS oc_t_item_test_table;
CREATE TABLE oc_t_item_test_table (
fk_i_item_id INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (fk_i_item_id),
FOREIGN KEY (fk_i_item_id) REFERENCES oc_t_item (pk_i_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARACTER SET 'UTF8' COLLATE 'UTF8_GENERAL_CI';
If you get error of following type, your problem is storage engine of oc_t_item table (and of osclass tables):
#1005 - Can't create table `xxxxx`.`os_t_item_test_table` (errno: 150 "Foreign key constraint is incorrectly formed")