I'm not very experienced with Magento so please bear with me.
I have a slider on a home page that displays a subset of "special" products. Some (not all) of these products are showing the price as £0.00, but when I click into that product on its view page, the price is showing correctly.
Both the slider's block and the view have the same transforms on the product before finally calling:
$this->getPriceHtml($_product, true)
The only difference between the two is that $this for the view is an instance of Mage_Catalog_Block_Product_View and the block for the slider is an instance of Mage_Catalog_Block_Product_List - and that's where I've reached a standstill, I have no idea how to track down why the price is being returned differently in these two cases.
Edit: It only has this problem for products which are set as Bundle and for which the price is set as dynamic.
Please replace your price code with below code
I hope its useful for you!!