I believe this is due to the way that HxD is calling CreateFile. This page, states the following:
In my process, I am calling CreateFile using (GENERIC_READ | GENERIC_WRITE), FILE_SHARE_READ. According to the table on the aforementioned page, HxD would need to call CreateFile using GENERIC_READ, (FILE_SHARE_READ | FILE_SHARE_WRITE), rather than its current GENERIC_READ, FILE_SHARE_READ.If you specify an access or sharing mode that conflicts with the modes specified in the previous call, CreateFile fails.
Seeing as the parameters HxD would need to use fully rely on those which were supplied to the initial CreateFile call, the best solution would be to add an option which would allow users to specify a custom dwDesiredAccess and dwShareMode with which to open the file.