1/6に記したブログの内容が間違ってた...もし参考にされたならすいません(^-^;

結果からいうと src/chinachu/recorded.cpp > refresh() にあるforループ内の先頭で構造体をクリアするだけで良いみたいです。[1]

そもそも当該修正は以前から腑に落ちず、見直さないとと思っていた箇所。
見直すと変なコードを書いているよなぁ。
「ラズパイ = 組込み = 処理速度を考慮」という短絡的な発想で変なコードを書いた始末。
非力なマイコン使ってるわけでもないのに愚直に記そう。
で、念のためkodi側のpvr関連のコードを眺めていると気付いた。
pvr.chinachuからデータを登録する際にkodi側では登録済みか確認している...はぁ。
じゃ、こんなコード修正は不要では?
構造体クリア以外の追加分を外して実行...全然問題なし。

では、どこで勘違いしたのか記憶を辿る。

1.kodi起動時、録画再生位置がありえない数字に。
2.関係する変数が初期化されていない。
3.クリアしてみる。
4.起動時は正しくなったが「録画一覧を更新」すると再びおかしな挙動になる。
5.一度読み込んだ再生位置情報はクリアしてはダメなんだと推測。
6.kodi起動後の情報はそのまましてみる
7.うまくいった
8.どうせpvr.chinachu側、kodi側いずれも同じ並びならコードを短かく書き直し

4の作業で勘違い...なんでそうなったかわからんが...
いずれにしても 5の作業以降はいらんかった。
偉らそうな講釈たれた上に変なコードを書いたために恥の上塗りをしてしまった。
本当、はずかしいショボーン

ちなみに過去の内容を含めてラズパイ上での症状を記してます。
windows環境(メモリ勝手にクリア?)ならそもそも問題になってないかもしれんのであしからず。

脚注 [1]
modified   src/chinachu/recorded.cpp
@@ -41,6 +41,7 @@ namespace chinachu {
         for (picojson::value &a: response.get<picojson::array>()) {
             picojson::object &p = a.get<picojson::object>();
             PVR_RECORDING rec;
+            memset(&rec, 0, sizeof(PVR_RECORDING));