Вот твой же код все работает отлично. Коннектиться к открытому вордовскому документу и сохраняет его куда укажешь.
Код:
var
MSWord: OleVariant;
begin
SaveDialog.Execute;
try
MsWord := GetActiveOleObject('Word.Application');
except
try
MsWord := CreateOleObject('Word.Application');
//мне кажется это здесь должно быть
MSWord.Documents.Add(); //не надо ничего указывать
MsWord.Visible := True;
except
Exception.Create('Error');
end;
end;
MSWord.ActiveDocument.SaveAs(SaveDialog.FileName+'.doc');