This is what has worked for me. Please back up your files. I cant guarantee this will work for you.
includes/module/pages/shopping_cart/header_php.php <<<<<<<<<<<<<<
line 93 for me:
change
$attributes = "SELECT popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix
to
$attributes = "SELECT popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pa.attributes_image
line 123 for me:
after
$attrArray[$option]['price_prefix'] = $attributes_values->fields['price_prefix'];
Add:
$attrArray[$option]['attributes_image'] = $attributes_values->fields['attributes_image'];
templates/template_default/templates/tpl_shopping_cart_default.php <<<<<<<<<<<<<<
change line 85 from (line 85 for me)
<a href="<?php echo $product['linkProductsName']; ?>"><span id="cartImage" class="back"><?php echo $product['productsImage']; ?></span><span id="cartProdTitle"><?php echo $product['productsName'] . '<span class="alert bold">' . $product['flagStockCheck'] . '</span>'; ?></span></a>
to
<a href="<?php echo $product['linkProductsName']; ?>"><span id="cartProdTitle"><?php echo $product['productsName'] . '<span class="alert bold">' . $product['flagStockCheck'] . '</span>'; ?></span></a>
line 89 for me:
before:
echo $product['attributeHiddenField'];
ADD:
if (isset($product['attributes']) && is_array($product['attributes'])) {
echo '';
}else {
?><span id="cartImage" class="back"><?php echo $product['productsImage']; ?></span><?PHP
}
line 101 for me:
directly after
foreach ($product['attributes'] as $option => $value) {
add
echo zen_image(DIR_WS_IMAGES . $value['attributes_image'], $products[$i]['name'], IMAGE_SHOPPING_CART_WIDTH, IMAGE_SHOPPING_CART_HEIGHT);