Recently, I switched my javascript mapping API preference to Virtual Earth, for the Bird's Eye View feature mostly. In my endeavor, I have found many quirks in the API.
The driving directions in Virtual Earth have icons on the map marking each step. With a dozen of these icons, the map gets quite cluttered and not good for printing. There isn't an option to hide them as I expected.
After some research, I found that all the icons are on one layer. By hiding this layer, the icons no longer clutter the map. If you don't have anything but the driving directions on the map, you can use the following javascript function. Just pass the map to the function after the driving directions are generated.
1: function hideRouteIcons(map)
2: var layerCount = map.GetShapeLayerCount();
3: for(var i=0; i<layerCount; i++) {
4: map.GetShapeLayerByIndex(i).Hide();
5: }
6: }
Now all you see is the route line.

Update (2/4/2009):
If you want to add additional shapes to the map after generating the driving directions, the above will cause problems. Any shapes will be added to the hidden layer.
Another approach is to iterate through the route that is passed to the RouteCallback function and hide all shapes in the Itinerary Items.
1: var locations = new Array('Miami, FL','Cedar Rapids, IA','Atlanta, GA');
2:
3: var options = new VERouteOptions();
4: options.RouteCallback = function(route) {
5: for(var i=0; i<route.RouteLegs.length; i++) {
6: var itenItems = leg.Itinerary.Items;
7: for(var j=0; j<route.RouteLegs[i].Itinerary.Items.length; j++) {
8: route.RouteLegs[i].Itinerary.Items[j].Shape.Hide();
9: }
10: }
11: };
12:
13: map.GetDirections(locations,options);