Единственный способ, которым они могут отличаться, - это если исключение произошло после WaitOne, но до начала попытки в примере 1 или после начала попытки, но до WaitOne в примере 2. В первом случае мьютекс не будет освобожден и во втором случае может быть предпринята попытка освобождения, даже если ожидание не ожидается. Исключением должно быть что-то серьезное, например ThreadAbortException, чтобы оно возникло в любом месте. Однако, если мьютекс содержится в блоке using, проблем не будет.
РЕДАКТИРОВАТЬ: после прочтения поста Эрика на эту тему, на который ссылался Оливер, я думаю, что даже с использованием блока, ситуация не идеальна, и что просто использование второй версии, как предлагает Оливер, - ваш лучший вариант.