Hi Richard.Haggard,
From your description, I try to restore your issue. however, it did not appear.
But, I found when I use the following code.
TrayIcon.Icon = Properties.Resources.icon_key_small;
I will get the following result (a vague picture).

So, I change the code as below:
TrayIcon.Icon = new Icon(Properties.Resources.icon_key_small, SystemInformation.SmallIconSize);
I will get a clear picture.

>>So, any ideas why an icon might sometimes display in a blurry fashion on some machines?
As far as I know, The problem may be cause with directly using the icon in your resources is that instead of choosing the right icon version in you icon file, the framework simply scales the default icon version to whatever size the notification area needs.
So, you can try to instead of directly setting your NotifyIcon. You can create a new Icon instance and choose a specific icon size in your icon resource(Using SystemInformation.SmallIconSize will get you the size the notification area needs.).
TrayIcon.Icon = new Icon(Properties.Resources.icon_key_small, SystemInformation.SmallIconSize);
SystemInformation.SmallIconSize
always returns the right icon size.
Best Regards,
Yohann Lu
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to
MSDN Support, feel free to contact MSDNFSF@microsoft.com.