• without knowing the columns on your Date Dimension table i assume its called ActualDate, here is a solution which doesnt require any conversion, since it should of already been done for you.

    SELECT dimUser.EmpFullName1 [User Name]

    , dimUser.MgrEmpFullName1 AS Manager

    , dimUser.PrimaryJobName AS [Primary Job]

    , dimUser.EmpNo AS [User Number]

    , CONVERT(VARCHAR(10), fact.StartDtID, 101) [Start Date]

    , CONVERT(VARCHAR(10), fact.EndDtID, 101) [Completion Date]

    , dimUser.PrimaryOrgCode

    , dimUser.SecondaryOrg1 AS [Secondary Org 1]

    , dimUser.SecondaryOrg2 AS [Secondary Org 2]

    , dimUser.PrimaryOrgName AS Org

    --, fact.EndDtID--Removed

    ,sd.ActualDateAS StartDate --Added

    ,dd.ActualDate AS EndDate --Added

    , dimUser.EmpStat AS [Emp Status]

    , CASE WHEN fact.completionStatusID = '-1' THEN 'Not Satisfied'

    ELSE 'Satisfied'

    END AS Status

    FROM factAttempt AS fact

    INNER JOIN dimActivity AS A ON A.ID = fact.ActivityID

    INNER JOIN dimUser ON dimUser.ID = fact.UserID

    INNER JOIN dimDate AS DD ON DD.DateID = fact.EndDtID

    INNER JOIN dimDate AS sd ON DD.DateID = fact.StartDtID --Added

    WHERE (dimUser.EmpStat = 'active')

    AND (a.code = 'A2102')

    AND (fact.StartDtID >= '20130101')

    Additionally , this is obviously the data for a cube, why aren't you using the cube to produce this result which would be even simpler?