1. "...при покупке нескольких одинаковых товаров он не считает один из них со скидкой а остальные без, а просто новую сумму минус скидку баллами и делит итог на количество заказанного товара..." - просто баллы делятся между товарами по формуле (бонусные баллы/колличество). Делать по-другому - переписывать модуль корзины, иначе никак.1.2 "...нельзя ли в корзине и отчёте как-то указывать что мол столько-то отнято было благодаря баллам накопленным а реальная цена была такой-то..." - можно, но опять же, прийдется дополнять около 10 скриптов.
2.1 "...баллы накопленные с первой покупки полностью расходуются при второй покупке..." - можно, но я, честно говоря, не вижу в этом логики. Лучше давать покупателю права выбора, нежели навязывать что-то определенное. К тому же. могут возникнуть нестыковки между ценами (т.е. если баллы зачиллились за покупку товара стоимостью 10000 р., а потратятся на товар стоимостью 300 р.).