I learned DirectX 10 and had no problems going to the 11. There are a few changes and I haven't used it all too much really, but in DirectX10 you have a device that holds on to everything, while i Dx11 you have a device AND a deviceContext. They have pretty much split functionality of the device in DX10 into two. This, however, is no problem. It's really easy to learn.The FX file format has moved into a source repository in the DirectX SDK so that you can do modifications to it for your own use, but you can just compile a lib and link against it to get .fx files working again.
When it comes to shaders I haven't really noticed any difference, except that the .fx file format isn't working anymore. At least I don't think it does. Now I just split files into .ps and .vs for pixelshader and vertexshader. The code itself to create shaders is the same, so no worries.
You can learn the DX10. I've also used that book from Luna and it was a pretty good book. I find his code a bit confusing at times, but there are a lot of examples and downloadable content with source code and whatnot so I really liked the book.
You can find the source here: <DX SDK Directory>\Samples\C++\Effects11 with solutions for VS as well.