Try if this will position them properly
+System -> On start of layout
System -> Create object Heroes on layer 0 at (LayoutCenter.X -100, LayoutCenter.Y -100)
System -> Create object txtName on layer 1 (Heroes.X, Heroes.Y)
txtName -> Pin Pin to Heroes(Position & angle)
txtName -> Set position to Heroes(image point 1)
System -> Create object Heroes on layer 0 at (Heroes.X + 60,Heroes.Y)
System -> Create object txtName on layer 1 (Heroes.X, Heroes.Y)
txtName -> Pin Pin to Heroes(Position & angle)
txtName -> Set position to Heroes(image point 1)
System -> Create object Heroes on layer 0 at (Heroes.X + 60,Heroes.Y)
System -> Create object txtName on layer 1 (Heroes.X, Heroes.Y)
txtName -> Pin Pin to Heroes(Position & angle)
txtName -> Set position to Heroes(image point 1)
Basically create hero first and right after that create txtName.
If that works (which it should!) it means you got something wrong with your events
edit: just noticed, you dont need to set it like that
System -> Create object txtName on layer 1 (Heroes.X, Heroes.Y)
txtName -> Pin Pin to Heroes(Position & angle)
txtName -> Set position to Heroes(image point 1)
There's no need to set position twice, instead you can use:
System -> Create object txtName on layer 1 (Heroes.ImagePointX(ImagePoint), Heroes.ImagePointY(ImagePoint))
txtName -> Pin Pin to Heroes(Position & angle)