Последний - просто хороший стиль программирования и соответствует общим стандартам. Насколько я знаю, они ничем не отличаются.
Лично я считаю, что имеет смысл и улучшает читабельность, чтобы иметь BEGIN
и END
вокруг каждого логического фрагмента кода (даже в случае хранимых процедур).