What is difference between tran and transaction in SQL Server 2005

There is no difference, the functionality the same for both begin tran and begin transaction.

If you were to add BEGIN TRANSACTION (or BEGIN TRAN) before the statement it automatically makes the transaction explicit and holds a lock on the table until the transaction is either committed or rolled back.


There is no difference. TRAN is merely an allowed abbreviation, as can be seen from the documentation:

Syntax

BEGIN { TRAN | TRANSACTION } 
    [ { transaction_name | @tran_name_variable }
      [ WITH MARK [ 'description' ] ]
    ]
[ ; ]

The { | } in this syntax description means 'pick one of these two alternatives'


They are synonymous in Transact SQL, it seems that the same logic have been implemented in MDX...