Hi Juan,
We've solved this issue...
Let me explain to you and hope this helps you.
For us the issue borns when in a custom process we execute BAPI_COSTACTPLN_POSTACTOUTPUT. This BAPI has a table parameter called CONTRL, with this table you can pass the AAP indicator in field CONTROL-ACT_PRICE_IND. The point is that if you don't pass the CONTROL table the BAPI will delete content of field TARKZ_I in tabla COKL for the combination of CostCenter/Act.
Then when you enter in KBK7 to check the APP you'll find a value of '007' but this is because FM: K_PLAN_SET_PRICE_FLAG_C sets that value when COKL-TARKZ_I is initial.
For your information the FM K_PLAN_SET_PRICE_FLAG_C applies because table COO0SFN stores this FM for COO0SFN-APPLI = 'C' (Actual Prices for Cost Centers) in field COO0SFN-SPFFN.
The solution we've applied is add CONTRL table parameter in BAPI call indicating that APP is '005', this way COKL-TARKZ_I is always '005'.
Another approach could be play with content of COO0SFN-SPFFN, call another FM, for example a custom one, and force that when COKL-TARKZ_I is initial set a '005 instead of '007'. I haven't tested this approach so I don't know possible indirect consecuencies.
I hope this help.
Kind regards,
Alfonso.