Not sure if this is by design, but the logic seems a little off with the frosted shields.
When a frosted shield is in a match used to make a diamond/dragon - but not the gem used for the actual match - a diamond/dragon is created on the board.
When a frosted shield is the actual gem moved to make a diamond/dragon tile, no diamond/dragon is created on the board.
I know the rules say a frosted shield cannot be used in an attack, but the creation of a diamond/dragon tile is not an attack. It seems logical that the creation of a diamond/dragon tile should be consistent regardless of the gem used to make the match.
Creating a dragon tile using a non-frosted shield as the matching tile (Includes frosted shields in the match):
Result - a dragon tile is created:
Doing a 4-match using a frosted shield as the matching tile:
Result - No dragon tile is created: