This would require hand coding php to accomplish, it would not be a simple task.
you would need to add a new column to the product table to mark which items where flat rate. You could call this column flatRate and set the value to 1 for flat rate items and 0 for non flat rate items. you would set the weight for these items to be 0.
you would also need to add this column to the cart object, and edit the add to cart buttons to bind the new cart column to the recordset column.
then you would need to add a new shipping rule for the flat rate items. Using the Items with specific column value trigger you could use the new flatRate column to check if there are any items in the cart where flatRate is equal to one.
For the calculation, use the Based on items with a specific value. I am sending a screen shot to demonstrate how to configure this.
you will need to edit the trigger for the shipping rate lookup code by hand to only trigger if weight of the items in the cart is greater than 0.