Are you part of esri beta community? If yes, you might want to post in that forum since v3.0 is still at beta state. As for the NullReference exception. e.PrintResult will be null if e.Error has a value so modify the code to this:
private void printTask_PrintCompleted(object sender, PrintEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
return;
}
System.Windows.Browser.HtmlPage.Window.Navigate(e.PrintResult.Url, "_blank");
}
Please post to 10.1 server forum in the beta community to ask how you can set up your own print service. They have one that you can simply enable under Utilities.