The given behaviour is completely normal.
/topic foobar
The topic gets set to foobar, as should happen
/cs set #channel topiclock on
Topiclock is enabled: the only way to change the topic now is via /cs topic
/part #channel
/join #channel
You rejoin the channel. During this the channel is empty for a moment, and every data known about the channel gets forgotten by the IRC server.
>> so around here i notice the topic is blank
Correct, the IRC server doesn't know about any old topics set as the channel has been recreated, and Anope doesn't have KEEPTOPIC enabled so it doesn't try to remember the topic either.
/topic poopy
Bot has changed the topic to: " (Bot)"
This is the result of TOPICLOCK, as said above...