Ответ 1
В случае сомнений всегда предпочитайте реализацию, включенную в .NET framework. У вас могут быть большие надежды на то, что такая реализация проверена сотнями тысяч программистов, была тщательно проверена на безопасность и удобство использования и будет поддерживаться на долгие годы.
Мьютексный подход - это простой способ добиться успеха. Однако он страдает от довольно серьезной проблемы безопасности. Атака на отказ в обслуживании очень проста в том, чтобы идти, вы не можете хранить имя своего мьютекса в секрете, и кто-то может тривиально создать мьютекс с тем же именем и предотвратить запуск вашей программы.
Подход к названию процесса глубоко ошибочен по той же причине. Нет гарантии, что имя процесса уникально. Не просто использовать, а легко запускать случайно.
В WindowsFormsApplicationBase есть проблема с изображением в глазах программистов на С#. Они задыхаются от имени пространства имен и предполагают, что их программа каким-то образом будет заражена vb-isms. Эта глупость, это простой класс .NET, который можно использовать на любом языке.