Maintenance window. The server's config now contains "comp-lzo no", and the ccd files don't contain any mention of LZO at all.
The existing clients were able to immediately dial back in when the service restarted, with no ccd changes needed.
The behaviour of the MikroTik router is unchanged, and I'm still seeing the "Bad LZO decompression header" messages in the log. I would have expected these to go away, with the server's configuration having "comp-lzo no" in it...
The server is running "openvpn-2.3.2-2.el6.x86_64.rpm" from the EPEL repo, on CentOS 6.
The client is a MikroTik RB2011iL router, using RouterOS 6.18 (their latest version.) I have no idea what version of OpenVPN their firmware is based on, but from what I've been reading, it sounds like MikroTik has pretty much stopped all development on OpenVPN.
I know there is at least one bug in the MikroTik OpenVPN client code (when the server sends an IP and mask, the router assigns the IP with a /32 mask, and uses the subnet mask value from the server as the "network" value) but I've been trying to work around it, if possible.
http://forum.mikrotik.com/viewtopic.php?f=2&t=87802
It looks like I have no choice but to set up an IPSEC point-to-point link between this router and another MikroTik router here in the office.
Thank you to everybody who tried to help with this.