Limbo was a theological speculation which was never official teaching of the Church. Recently, the Church has declared that Limbo is not a true idea (though I am not sure if it was said that it is likely not true or that it is definitely not true).
Baptism is absolutley necessary for salvation. However, baptism comes in three varieties. First there is baptism of water. This is the normative means by which an individual receives salvation. Secondly there exists what is called baptism of blood. This refers to a case in which an individual sacrifices his or her life for Christ. In such a case, the individual arrives immediately in Heaven. Thirdly there exists what is called a baptism of desire. This refers to a case in which an individual is truly eeking God with all of his or her heart, but is either unable to be baptized prior to his death (for instance, a person whom comes to faith alone in a desert), or is truly and deeply unaware of the necessity of baptism. However, consider the case of a person whom has a baptism of desire and at a later time becomes aware of the necessity of water baptism. Such a person would need to accept water baptism. Were he to reject it, his baptism of desire would essentially be null and void because he rejected Christ’s commandments, and thus Christ Himself.
It is therefore possible that a non-Catholic be saved. It is uncertain how frequently this occurs, but it is a teaching of the Church that it is possible. A person may truly be unaware of Christ’s desire for him to be in the Catholic Church. God will not condemn the individual for his lack of knowledge. However, such a case would require that the individual truly has sought out God and His truth, and truly has made an effort to determine what God desires of him.