First of all, thank you for open-sourcing your work @eressea. I've built the source and went on trying the extender. I had a look specifically at how the offline trading is handled and I've noticed that ResetNicknameAndColor() is called if the setting OfflineTradeChangeNameColor = true.
Now, for example, if you're using a Color Name (vitamin item) to change your title color and then go onto offline shop, your title color resets to the default color. The title colour should be preserved upon restart/logoff unless the player executes /resetname on it.
Also i have to mention that, if OfflineTradeChangeNameColor = false the title is preserved as it should. This could be intentional so i'm not going to call it a bug. The only downside is, that if you're keeping the OfflineTradeChangeNameColor = true then every player that has a different title color it's going to lose it after going in offline shop mode.
Also, I've tried to have a look at what ResetNicknameAndColor() does exactly but couldn't find much references. I would appreciate your input into this if possible. I'm probably going to become a regular here so again, I would like to thank you for sharing your work and your knowledge. I'm pretty new to programming in general but I'm very eager to learn as I go along, so please bare with me. Looking forward to your reply!
Edit: I just came across https://bitbucket.org/l2shrine/extender-public/issues/7/title-color-lost-after-offline-trade and it looks like has already been reported as a minor bug.