Set this one up in the lab and banged on it (I was pretty sure I wasn't just doing it wrong).
Here's what I found:
The advskew check only goes wrong when there are type 'other' VIPs on the box.
I have several 'other' VIPs on the WAN, and when I deleted these, the DHCP config on the backup unit correctly set itself to secondary.
This is however, a bad solution for the production system, as the 'other' VIPs are used to failover IPs that are on additional subnets assigned to the customer (that's the subject of another rambling post).