@jaygr , this is based first on how the related product dimensions are set to persist. If you have the dimension "item added to cart" set to "pageview/hit" then your "Most recent Allocation" will give the cookie to the "dog" selection. So you will see in that case that adding dog to the cart led to purchasing a cat.
If you have the dimension "item added to cart" set to "visit/session" persistence, then both the cat and dog "item added to cart" will get the credit in a "participation" attribution.
What @abhinavpuri said is right in that in a table, you can select what attribution model you are using.
You need to be sure, that you are setting the "item added to cart" event and the "item purchased" event so that you can apply these dimensions to them. Then, you will be able to see last, participation, and first touch for all the dimensions.
I believe it also makes a difference how the eVar is set....
If the eVar is set as a merchandising eVar on the product during the Add to Cart action, and the retention is set appropriately... then during the purchase of that product, the eVar should retain the value to that specific product to which it was set... believe this also should work if you are using a Conversion Syntax Merchandising eVar (set on the search results and bound to the Add to Cart), I believe that this should still retain "cats" in conjunction with the purchase (I have not tried this in practice, but I have done normal merchandising eVars and they map based on the unique product identifier, so I would expect this would too... but I would test it thoroughly before relying on it)
However, if you are just setting an eVar during a search, then the last value searched will be used, regardless of the product that was ultimately purchased.