Если бы было все так просто то тогда не изобретали бы плагины сортировки для каждого формата отдельно. Есть плагин datetime-moment пишут что для любого формата подходит.
И во вторых раз работают другие с этим же кодом, то скорее всего проблема в данных.
1. Вначале нужно поместить искомое значение в массив ДО СОРТИРОВКИ! и затем отсортировать массив по цене (например, через половинное деление). Возможно, что он у Вас уже сортируется и нужно лишь пометить помещаемое значение отрицательным ID-шником товара.
2. Затем найти через абсолютную разницу нужного соседа выше (перед) или ниже (за ним)
SELECT * FROM table WHERE client_id = id AND status = 0 AND date < (SELECT date FROM table WHERE client_id = id AND status = 1 ORDER BY date LIMIT 1) - что-то типа такого, я думаю.