Yes. The TAChart demo "charteditor" makes massive use of frames, and I saw the same issue when writing this. The problem is that a frame inserted at runtime does get a Name value equal to the class name by default (I consider this to be a bug...). Without the automatic name generation of the Lazarus designtime mode, therefore, two frames of the same type have a name collision, and this must not happen.
So, jamie's idea to reset the Name to an empty string after creation of each frame is the correct solution.