I also meet that problem on my [spam-filter] website,
I try to fix like this, and it work for me.
added BlockNewProducts::$cache_new_products = $this->getNewProducts(); to hook function.
public function hookdisplayHomeTabContent($params)
{
if (!$this->isCached('blocknewproducts_home.tpl', $this->getCacheId('blocknewproducts-home')))
{
BlockNewProducts::$cache_new_products = $this->getNewProducts();
$this->smarty->assign(array(
'new_products' => BlockNewProducts::$cache_new_products,
'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
'homeSize' => Image::getSize(ImageType::getFormatedName('home'))
));
}
if (BlockNewProducts::$cache_new_products === false)
return false;
return $this->display(__FILE__, 'blocknewproducts_home.tpl', $this->getCacheId('blocknewproducts-home'));
}