If you don't want to use Custom Options, you don't have any other option to differentiate your products in cart. So, you need to overload Mage_Sales_Model_Quote_Item class and rewrite representProduct function.
Create a custom module, overload sales/quote_item model and rewrite representFunction as below:
/**
 * Check product representation in item
 *
 * @param   Mage_Catalog_Model_Product $product
 * @return  bool
 */
public function representProduct($product)
{
    //You can check here if the product is the one that you need to add as a new line or not.
    if(/* some checks with $product */) {
        return false;
    }
    //run parent function as default
    return parent::representProduct($product);
}
So, any product added to cart will not represent another product -that already in cart- and be evaluated as a new product.