Although the AF method A indication may be confusing in the current version, the encoder works correctly. Once you disable the AF, no AF is sent. That means, the encoder tells the receiver that there is no AF, by sending a pair of bytes 224 and 205 (no AF follows and filler code). So technically, this "no AF" state is still sent using AF method A. There's no special "AF flag" to be set or cleared in the AF service. There's also no other command or anything similar defined in the RDS standard for explicit switching off the AF.
Now why your receivers still tune to AF:
1) Once you store a station to the receiver's preset memory, not only the frequency is stored. The receiver usually stores frequency, PS, PI, PTY, TP and of course AF. If you click on the preset later, the receiver tunes to the frequency and expects a station with the same PI like the PI stored, and also searches the AF stored if the signal on actual frequency is not good or if PI differs from the stored PI. Unfortunately sending a pair 224 and 205 which should clear AF stored in the receiver, has usually no effect, and there's no other way for this.
The solution is to clear the receiver's preset memory, tune the station manually and store it again with actual settings.
2) Receivers never tune to other frequency if at least one of the last two digits of the PI differs. In your case, you want to stop tuning to other frequencies. OK, so there's probably another station carried? If so, why do you use the same PI on both stations? Many receivers search the band for a better frequency with the same PI (function called PI SEEK), regardless of what the AF is telling.
The solution is to use PI in correct way to tell the receiver that the frequency carries different program.
Last but not least, if the station has only one frequency, the second PI digit must be 0 (zero). This effectively disables AF on most receivers (does not apply to U.S. RBDS).
Related F.A.Q.'s are at
http://pira.cz/rds/show.asp?art=rds_encoder_support#afpi