Selected Answer
It's not possible to tell what your code does or doesn't do without looking at the code. However, since you didn't publish your code I guess you want an educated guess.
When a shape is created all of its properties are set. As a rule you might actually set just a few of them yourself (in your code) relying of Excel to provide default values for all the others. There is a setting somewhere by which you can define a particular shape as "default", meaning all shapes created after that will have the same default properties you set for it. This could be done manually or by code.
It is possible that Excel 2013 handles this process slightly different from an earlier Excel version. Just as an example (probably not real) you have had to press a button previously but now the last defined shape will automatically become the default for the next. This system might be applied to all, some or just one of the shape properties, for example, the Shadow.Visible property.
Of course, your code works within this system. It creates a shape and specifies some of its properties, might even set those properties as default (which would include many other properties as well because a template includes all of them). Then a next shape is created which mustn't necessarily have the same default properties as the last one anymore. Look at the code and see what it does. Make sure that you don't change the defaults manually in some way in between different runs of the code.
Best solution is to set all properties by code and thereby exclude any automatic help from Excel. If you have full control Excel will not interfere. Or, Excel will only interfere where you don't take control. If you create many shapes and want them to have the same properties, write a function which creates a shape and call that function with different parameters, for example regarding its position or size but5 including Shadpw.Visible property.