さっぱりわからんと思っていた現象の原因がわかってそれを修正することができました。
原因は、peripehral端末側で設定した値が、centralに送る前にcentralから設定する前のデータを送って、
更新していたために、値が書き換わってしまったことでした。
通常だったら考えないようなことも、通信を使うと発生してしまうんだなと思った。
マルチスレッドもそんな感じで、チーム開発とかすると、めちゃくちゃ大変そう。
知識がなくて、いきなり挑むのは危険ですね。
まぁ自分も知識0でbluetooth通信に挑んで失敗しまくってるんですが。。。