use type=InnoDB instead of myISAM.
then you could do something like
CREATE TABLE tshirts (
id tinyint(4) NOT NULL auto_increment,
shirtname varchar(100) NOT NULL default '',
image varchar(100) NOT NULL default '',
catID int(4) NOT NULL default '0',
shirtcolors varchar(200) NOT NULL default '',
shirtavail varchar(200) NOT NULL default '',
mediumshirt varchar(30) NOT NULL default '',
largeshirt varchar(30) NOT NULL default '',
XLshirt varchar(30) NOT NULL default '',
XXLshirt varchar(30) NOT NULL default '',
XXXLshirt varchar(30) NOT NULL default '',
smallsweat varchar(30) NOT NULL default '',
mediumsweat varchar(30) NOT NULL default '',
largesweat varchar(30) NOT NULL default '',
XLsweat varchar(30) NOT NULL default '',
XXLsweat varchar(30) NOT NULL default '',
XXXLsweat varchar(30) NOT NULL default '',
XXXXLsweat varchar(30) NOT NULL default '',
PRIMARY KEY (id) ,
INDEX (catID),
FOREIGN KEY (catID) REFERENCES category(catID) on update cascade on delete cascade
) TYPE=InnoDB;
then when you delete a category the t-shirt rows with that catID will be deleted as well.