Hi Mike,
Before version 15.5 ESD#5 (including 12.x), it was very easy for forceplans to get applied incorrectly in stored procedures. All that was required is that a statement under a forceplan is the one which triggers a recompile. If that was the case, forceplan would get applied to all preceding statements as well as the statement that should have had forceplan. The bug went unidentified for many years.
With version 15, this bug also effected any other setting that was set for a statement such as an optgoal or specific optimizer criterion. Deferred compilation made the bug worse in as much as if the statement triggering the recompile was a DC statement it would actually lose the statement specific settings whilst applying them to all the other statements incorrectly.
For version 15.5.ESD#5 and early 15.7 you need to run with the TF to get this issue fixed.
From version 15.7 SP100 (and 16), you don't need it, it is on by default (which it should have been to start with).
I don't know why they reversed the TF meaning, this was an error.
Cheers,
Simon