"TargetName" would not work here as "Img" is not under Storyboard's scope. Moreover Resources uses "Key" not the "Name".
I suggest you to write the Storyboard animation in the code behind and change your background.
Below Xaml should fix your problem.
<UserControl.Resources>
<ImageBrush x:Name="Img" x:Key="frmBackground" AlignmentX="Center" AlignmentY="Center" Stretch="UniformToFill" ImageSource="./Images/Background0.jpg"/>
<Storyboard x:Key="RotatingBkgrndImg" x:Name="RotatingBkgrndImg">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="backgroundBorder">
<EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="0.99"/>
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:4" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<Border x:Name="backgroundBorder" Background="{StaticResource frmBackground}"></Border>
</Grid>
I just added a Border inside the Grid and used it's name as TargetName.
Mark it as Answer if it is helpful