Kann leider nur bis Win 8.1 testen.
Bezüglich W10, könntest Du (oder sonst jemand der hier mitliest) mit bitte schreiben ob unter HKEY_CLASSES_ROOT\mailto\shell\open\command ein nutzbarer Pfad eingetragen ist? Dem müsste eigentlich so sein.
Wenn ja unterscheide ich dann einfach anhand dessen. Sofern ein Handler für mailto vorhanden ist, direkt Process.Start() mit dem Mailto string, ansonsten das für HTTP zuständige Programm, also den Standardbrowser, damit aufrufen.
Sollte nun jemand keinen Mailclient eingerichtet haben kümmert sich sein Browser darum.