а какая разница - подготовленный запрос, или неподготовленный?
И что означает этот странный код?
if($pricemin > 0) echo $result->bindParam(':pricemin', $pricemin);
пример пагинации с подготовленными выражениями есть здесь: 
phpfaq.ru/paginator#new
библиотека, правда, более удобная чем, ПДО, но принцип тот же.
Чтобы не собирать условия в ПХП, можешь написать в запрос так
SELECT * FROM board_post, model, marka WHERE model.id_model=board_post.id_model 
AND board_post.id_marka=marka.id_marka 
AND (:brand    = 0 OR id_marka = :brand) 
AND (:model    = 0 OR id_model = :model) 
AND (:pricemin = 0 OR price   >= :pricemin) 
AND (:pricemax = 0 OR price   <= :pricemax) 
AND (:yearmin  = 0 OR year    >= :yearmin) 
AND (:yearmax  = 0 OR year    <= :yearmax) 
ORDER BY date DESC