The couple married in Haddington in 1846 are not yours. The marriage lists them as James Steel and Maria Young. The IGI lists children Thomas Robertson, 1855; Sarah Ann, 1857; Maria, 1860; Robert, 1862 and Isabella, 1865, the first two born in Haddington and the rest in Galashiels. In the 1881 census there is a family consisting of James Steel, 62, born Northumberland; wife Maria Steel, 57, born Edinburgh; son Thomas Steel, 26, born Haddington; and daughter Isabella, 16, born Galashiels. I can't find them in 1871, but they were in Haddington in 1861 and 1851. It would be easy to check by looking at Thomas' birth certificate, which will contain the date and place of his parents' marriage.
What records have you been able to find in Canada, other than the census? Marriage record? Baptisms of children? What were the names and approximate birth years of the children?