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.