There are quite a few examples of code around that convert between different timescales. Probably the best examples are the IDL source code here. Note that BJD is barycentric JD which, for most VS purposes, is the same as HJD. I think the difference only matters if you are trying to detect planets going around pulsars…
I’ve now compared 3 different resources for the calculation and they all come out different! I’ve tried the BAA applet, a sppreadsheet I found on the web (HeliocentricJulianDay.xls) and the ohio-state.edu web site. For a test I’ve used an observation of NR Cam at JD 2457388.40539.
The first two are less than 5sec different however the ohio site is over a minute off from the others. It would appear that they all use different methods of calculation that are not consistent! I’m wondering if there are issues with floating point rounding due to the number of significant figures required.
I think the reason for the difference is that the two values of JD that you calculated are in different timescales. I assume that the BAA calculator calculates HJD in the UTC timescale whereas the Ohio site calculates it in TDB. At present TDB is around 68.2s ahead of UTC so a BJD(TDB) will be around 68s later than HJD(UTC). When talking about JD it is important to specify the timescale used. The difference between the Ohio and BAA times is 68.44s which agrees well.