Не совсем понятно в чем задача в целом.
Date.parse корректно распарсил дату сервера "Wed, 21 Mar 2012 00:01:31 +0400".
Если нужно именно время сервера - так вот же она, 00:01:31, в чем проблема?

Если хочется парсить через Date - тогда да, Вы получите либо в UTC что именно 20:01 либо свое локальное, все это Date делает автоматически. Опять же, часовой пояс свой сервер вернул: +0400.