Base product + Base product works fine in BT as long as they have different options. I.e. different sizes for fashion, etc. Products are indexed in the cart by a key that uses the quantity and the product options with the product_id to create a unique key
Alternatively, why not use a gift certificate that has the value of the item(s) or a designated free product? The advantage of this is it gets them back to your store with a credit to do more shopping.
This should really be an extension of the promotions so you can determine the conditions/bonus for your BOGO properly.
These are just ideas on areas that might be exteneded at the lowest cost/impact to the core system.
EZ Merchant Solutions: Custom (USA based) B2B Development, Consulting, Development and Special Projects (get a quote here).
Commercial addons, payment methods and modifications to meet your business and operations needs.