I can replicate this problem too...I think the issue is caused by the fact the checkbox is set to be checked.<asp:CheckBox ID="chkOrderEmails" runat="server" Checked="true" />
Therefore when you set backend.orders.emailupdates to 'n', then it remains true.
If you are switching off the order emails, then you could change the Checkout.aspx page so it's not checked
<asp:CheckBox ID="chkOrderEmails" runat="server" Checked="false" />
Even if you are allowing email updates, you could just change it to false anyway, so the customer has to opt-in!