One of the solutions:
;
with P as
(
select *
from ( select ParentId, ChildId, row_number() over (order by ChildId) n from T1) t
pivot ( min(ChildId) for n in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10])) p
),
Q as
(
select ParentId, [1] as Child_1, [2] as Child_2, [3] as Child_3, [4] as Child_4, [5] as Child_5, 0 as g
from P
union all
select ParentId, [6], [7], [8], [9], [10], 1 as g
from P
where [6] is not null
)
select *
from Q
order by ParentId, g
Remove 'where [6] is not null' to show the second row even if it contains nulls only (assuming that all of ChildId are never null).