You're setting it to a state, and it's staying in that state. Instead just have your Storyboard, and just trigger it instead of having it in a defunct VisualState. More like;
<Object.Resources>
<Storyboard x:Name="Gira">
<DoubleAnimation Duration="0" To="45" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)"
Storyboard.TargetName="image" d:IsOptimized="True" RepeatBehavior="Forever" />
</Storyboard>
</Object.Resources>
Then fire it off.
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<ec:ControlStoryboardAction Storyboard="{StaticResource Gira}"/>
<!--<ec:GoToStateAction x:Name="StateGiraTap" StateName="Gira"/>-->
</i:EventTrigger>
</i:Interaction.Triggers>
Hope this helps.