Should you wait for what? If you think about it, any code you would have written in the past would work equally well today as it did then. Is LINQ more productive than most of those earlier methods? In my opinion, yes, but then I really like LINQ. Is Linq To Entities better? No, its just different and to be honest, in many cases its quite a bit more worked. The IJW ( it just works! ) factor of LINQ is truly incredible, its one of the most elegant technologies to come out of Microsoft in a very long time. Will there be something better in the future? Most likely. But we live and code in the present and waiting for the future is a fools errand as there is always something better just over the horizen.
That said, this is a good argument for abstraction. When you design your classes ask yourself, could I replace X ( Linq, ADO.Net, etc... ) in my data layer without breaking the rest of my application? If you can answer yes, you probably have a pretty good design. Doing a proper data layer really isn't that hard and it allows you the flexibility to switch out from Linq, to any other ORM ( Link to Entities, nHibernate, etc... ) or even to switch to a completely different back end like Web Services, or whatever the next great thing is.
Also, if it puts your mind at ease, LINQ isn't going anywhere. Its part of the language, is being implemented in mono and more linq providers are being added. Even if Microsoft moves to a different technology, you will still see people using and supporting Linq. Hell, its already happened to some degree with Linq to Entities and you still see the majority of developers using Linq will mostly ignoring L2E. The only major downside to using LINQ today is the lack of a solid MySQL/PostOgre linq provider freely available, but there are some in the works.