I think that for what you want to do you want to use products.post.php. This is called AFTER the system has retrieved data and processed the parameters. In this you would:
A PRE controller is generally used when you need to process your own parameters and/or modify those that are coming INTO the controller BEFORE the system processes the request.
I have added a block to product page that takes the price of the product and processes it in customer/products.post.php and returns the result fine, but when you click on quick view on products listing page the block appears in quick view but don't seem to process the price…
Different 'views' request different data from the database. Are you sure whatever view you are looking at has the original price info for you to manipulate?