Expand Epicor 10 Menu Tree structure with SQL Scripts

I created one SQL Scripts to expand Epicor Menu Tree structure, However, the order of display cannot match the order displayed by Epicor system.

  -------------Here is my SQL Scripts:-----------------------------------------------------------
     ;WITH MenuSec (Company, MenuID, MenuDesc, SecCode, EntryList, ParentMenuID, FullMenuName, MenuLevel)
AS
(
SELECT m1.Company, m1.MenuID, m1.MenuDesc, m1.SecCode
      ,s1.EntryList, m1.ParentMenuID, CAST(m1.MenuDesc AS VARCHAR(255)) AS FullMenuName, 1 AS MenuLevel
FROM Ice.Menu     m1
JOIN Ice.Security s1 ON m1.SecCode=s1.SecCode 
WHERE m1.ParentMenuID='MAINMENU'
UNION ALL
SELECT m2.Company, m2.MenuID, m2.MenuDesc, m2.SecCode
      ,s2.EntryList, m2.ParentMenuID, CAST(FullMenuName + ' -> ' + CAST(m2.MenuDesc AS VARCHAR(255)) AS VARCHAR(255)) AS FullMenuName , (MenuLevel + 1) AS MenuLevel
FROM Ice.Menu m2
JOIN MenuSec ON MenuSec.MenuID=m2.ParentMenuID
JOIN Ice.Security s2 ON m2.SecCode=s2.SecCode  
)
SELECT Company, MenuID, MenuDesc, SecCode, EntryList, ParentMenuID, FullMenuName, MenuLevel
FROM MenuSec
ORDER BY MenuLevel,FullMenuName ASC

-------------Scripts End------------------------------------------------------------------------------------------------------

Does anyone have developed a similar SQL scripts or have any suggestions can sharing ? thanks,