Hi,
I really don't understand.
When I made my tests, after I unpublish the system plugin "ZL Framework", I had no more carriage return in Joomla pages.
The way is simple, you can see the source code of the page ( "ctrl + u" ) and if you have an empty line before at the beginning, like that
it means that there is something which add this content (and break the HikaShop DL part).
But I realized that there is another problem when you look at a (any) content page.
In the backend, I open the source of the plugin listing and I saw that the end of the page is wrong
</div></body>
</html>
<script type='text/javascript'>
/*<![CDATA[*/
var jax_live_site = 'http://XXXXXXXXXXX/administrator/index.php';
var jax_token_var='00000000000000000000000000000000';
/*]]>*/
</script><script type="text/javascript" src="http://XXXXXXXXXXX/plugins/system/azrul.system/pc_includes/ajax_1.5.pack.js"></script>
(I removed the token and website url)
This content is added after the HTML so I think that this plugin can be a problem ; maybe not our problem but I can't say.
Problem is, even if I unpublish the plugin "azrul.system" ; his content is still display in all backend pages..
But you can do a simple test by unpublishing the system plugins which are not provided directly by Joomla and see that the page is right display (without a carriage return at the beginning) and that the DL system of HikaShop is working fine (because there is no extra data added by a system plugin to the downloaded file).
Regards,