I heard that we get our guardian angels at baptism. Is this true, and does it mean that the babies of non-Christians do not have guardian angels?
The view that everyone has a guardian angel seems well founded in Scripture. In Matthew 18:10 Jesus states, “See that you do not despise one of these little ones; for I tell you that in heaven their angels always behold the face of my Father who is in heaven.” He said this before the Crucifixion and was speaking about Jewish children. It would therefore seem that non-Christian, not just Christian (baptized) children have guardian angels.
Notice that Jesus says their angels always behold the face of his Father. This is not merely a declaration that they continually stand in the presence of God, but an affirmation that they have continual access to the Father. If one of their wards is in trouble, they can serve as the child’s advocate before God.
The view that all people have guardian angels is found in the Church Fathers, notably in Basil and Jerome, and it is also the view of Thomas Aquinas (Summa Theologiae I:113:4).