Hi Sutha,
Still you have same issue in SQL Server 2005 using old method.
Try this and compare the results.
select * into #D1 from (
select '1' as c1,'A' as c2
union
select '','B'
) T
select * from #D1
go
select * into #D2 from (
select 1 as c1,'A' as c2
union
select '','B'
) T
select * from #D2
drop table #D1
drop table #D2
Implicit conversion matters both in 2005 and 2008 when using union in the select before inserting the records.