I am a little ashamed to say that I have never used an ORM; as you may recall most of my career experience is hacking around with Classic ASP and the little .NET I do tends
For the free and open source route, NHibernate is pretty hard to beat. It's a mature ORM with a very active community and plenty of support. There is an initial learning curve there with NHibernate, however, I think it's well worth the effort you might invest in it.
If you want to stay within Micrsoft's .NET world, LINQ is a great technology to learn, and not just LINQ2SQL (which as you say, isn't a full-blown ORM anyway) as LINQ can be applied to objects, XML and basically anything that's IEnumerable/IQueryable.
For the future, I'd recommend Entity Framework (again, within the Microsoft world). There has been a few scary sounding announcements from the LINQ2SQL team within Microsoft which seem to suggest that all future development effort will be put into Entity Framework rather than LINQ2SQL. There is a certain amount of overlap of those technologies anyway. Certainly, I don't believe that LINQ (speaking generally) is going away any time soon, but I'd be careful of investing for the long term in LINQ2SQL. Entity Framework is still relatively new, and under active development, so expect to see EF mature in the coming months/years.
So, right at this moment, LINQ2SQL is great and you can get up and running with it quite quickly without necessarily having to dive into the inner workings of it (i.e. expression trees etc.) but for the future, I'd recommend Entity Framework/NHibernate as I believe these two ORM's will be the ones in majority use over the next few years by most .NET dev teams.
Of course, that said, there are a myriad of different ORM solutions out there, and I doubt any one of them will be a one-size-fits-all solution, so you really have to examine each of them and see which is most suitable for the specific project that you're working on.