You must assign an icon to the Icon property. This icon is different than the BalloonTipIcon in that it's the icon that will appear in the notification area itself. If you don't assign Icon, then no balloon will appear.
notifyIcon1.Icon = Icon.ExtractAssociatedIcon( Application.ExecutablePath );
Additionally, the notifyIcon must be visible before you can call ShowBalloonTip()
So a full, simplified, example is:
notifyIcon1.Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
notifyIcon1.Visible = true;
notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
notifyIcon1.BalloonTipTitle = "Delayed Write Failed";
notifyIcon1.BalloonTipText = "Some of your data has been lost.";
notifyIcon1.ShowBalloonTip(0);