Nope, it's close but not perfect. If the virtual/downloadable product includes a text attribute, the in_cart check indicates that the product's not in the cart ... when it is! That's because there's a mismatch between the uprid returned by the zen_get_uprid call and that present in the cart (due to the text attribute's value).
Still investigating ...
Bookmarks