Calculating enthalpy per gram mole of oxygen bond in haemoglobin
The heat flows from each Hb molecule during the reaction at constant p and T, so $q_{p, rxn} = \Delta H_{rxn}\cdot\Delta X$.

The energy of the reaction is $\Delta H_{rxn}$ as per mole of reaction.

The reaction itself is Hb + 4O$_{2}\rightarrow$ Hb$\cdot$(O$_{2}$)$_{4}$. 

The reaction is exothermic.

The number of moles of Hb present is $$n_{\rm Hb} = {5\over 64,000} = 0.078\;{\rm mmol},$$

all of which reacts: $\Delta X = -\Delta\,n_{\rm Hb} = n_{\rm Hb}$.

That much heat raises the temperature of the water (assuming all the heat is contained in the water):

$$0 = \Delta H_{\rm water} + q_{p, rxn} = C_{p}\Delta T + q_{p, rxn}$$
from which it follows that
$$q_{p, rxn} = -C_{p}\Delta T = -100\times 4.18\times 0.031 = -13\;{\rm J}$$
and
$$\Delta H_{rxn} = {q_{p}\over\Delta X} = {-13\;{\rm J}\over 0.078\;{\rm mmol}}= -167\;{{\rm kJ}\over{\rm mol-rxn}}$$
There are 4 moles of O$_{2}$ used so 
$$\nu_{\rm O_{2}} = 4\;{{\rm O_{2}}\over{\rm rxn}}$$
and on an oxygen basis
$$\Delta H_{rxn} = -42\;{\rm kJ}$$