Compensation is only due when a player signs a professional contract so your comment about BCSPL compensating each other makes no sense.
I don't recall reading anything in the FIFA rules regarding training compensation requiring players to sign an "amateur contract" although there is mention of a contract.
Relevant section from CSA rule:
"
i) Subject to the rules and regulations of the Provincial/Territorial Association concerned, an amateur player may be transferred to a Professional club upon payment of a fee to the Provincial/Territorial Association with which the player is registered.
j) Provincial/Territorial Associations shall distribute training compensation payments to the amateur club(s) involved in the development of the player in accordance with the FIFA Regulations on Status of Transfer of Players."
From FIFA:
" Article 20 Training compensation
Training compensation shall be paid to a player’s training club(s):
(1) when a player signs his first contract as a professional and
(2) each time a professional is transferred until the end of the season of his
23rd birthday. The obligation to pay training compensation arises
whether the transfer takes place during or at the end of the player’s
contract. The provisions concerning training compensation are set out
in Annexe 4 of these regulations.
Article 21 Solidarity mechanism
If a professional is transferred before the expiry of his contract, any
club that has contributed to his education and training shall receive
a proportion of the compensation paid to his former club (solidarity
contribution). The provisions concerning solidarity contributions are
set out in Annexe 5 of these regulations."
By registering with a youth club you are entering into a contract. A player can leave, without punishment financially. But that player can't then sign for another club until the next registration window.