I recently switched a Linq To Sql implementation over to use NHibernate & NHibernate.Linq. Since I was using repository interfaces, it should've been a straight switch. However, it blew up in a couple of places. Firstly, any time I called IQueryable.Count(), it threw an exception. Secondly, there was a linq query that used grouping & ordering and that didn't work, either. I've not used it a lot, so there's always the chance I was doing something wrong, but those things worked fine with Linq To Sql.
Basically, your mileage may vary. For the most part it works well enough, but it may be a good idea to write some test applications to see whether it will meet your needs.
If you do decide to use it, write some integration tests to ensure the queries are functioning correctly.