Limiting rows from a joined table
This should work:

SELECT      *
FROM        (SELECT         ROW_NUMBER() OVER (PARTITION BY p.Partnum 
                                               ORDER BY     p.Partnum
                                                            , pd.DueDate
                                                            , pd.Quantity) AS rownumber
                            , p.Partnum
                            , pd.Quantity
                            , pd.DueDate
                FROM        Part       AS p
                INNER JOIN  PartDtl    AS pd
                    ON      p.Company  = pd.Company
                        AND p.PartNum  = pd.PartNum
            ) AS sub
WHERE       sub.rownumber &lt;= 3
ORDER BY    sub.Partnum
            , sub.DueDate
            , sub.Quantity


You were using old SQL syntax, I converted the old join type to an INNER JOIN.
Also changed the numbers in the ORDER BY clause, as this might cause problems when you change the order of your selected columns.