Я нашел проблемы.
Сначала. Сетка в Xaml имеет высоту 0, поэтому фон не виден. Но я думаю, что благодаря Антиалиасу часть цвета видна в Пути. Добавление высоты к сетке устраняет проблему с цветом фона.
<VisualBrush x:Name="LineVisualBrush" x:Key="LineVisualBrush" TileMode="Tile" Viewport="0,0,40,40" ViewportUnits="Absolute" Viewbox="0,0,40,40" ViewboxUnits="Absolute" PresentationOptions:Freeze="True">
<VisualBrush.Visual>
<Grid Background="Black" Height = 40>
<Path Data="M 0 0 L 40 0" Stroke="White" />
</Grid>
</VisualBrush.Visual>
</VisualBrush>
Секунда. Мне нужно получить доступ к дочерним элементам Visual в коде позади, чтобы изменить цвет обводки пути. Я изменил код таким образом, и теперь он работает отлично.
VisualBrush vb = (VisualBrush)Resources["LineVisualBrush"];
Grid grid = (Grid)vb.Visual;
System.Windows.Shapes.Path path = (System.Windows.Shapes.Path)grid.Children[0];
grid.Background = new SolidColorBrush(Colors.Red);
path.Stroke = new SolidColorBrush(Colors.Blue);