Nick, in your first example you seem to be using the 3.1.1 patch on fw 3.0.1, and your second example you seem to be using the fw 3.1.0 patch address for fw 3.1.1.
If you use the 3.0.1 patch for fw 3.0.1, or the 3.1.1 patch for fw 3.1.1, then it should work. But note that the footer has changed between 2.8.1 and 3.1.1, so you can't just replace the xor value and address, you need to replace the whole original footer.
You might also want to add \x00 to the end of your new footer, but you can try it without to see if it makes a difference.
Here is what I think you want to use to get the same result for
3.1.1 as you had in 2.8.1: