Allegro or SFML are probably immediately the closest (Though neither offer hardware acceleration AFAIK).
SFML offers hardware acceleration right off the bat as long your OpenGL is running on the hardware(you have the right drivers)
While I like SDL's features I generally prefer SFML since it is way more modular/c++/oop/whatever and easier for me to structure programs with.
Learn C++ and HLSL if you want to get into graphics programming and manipulating direct3d on a "lower level".
I don't think you should limit C++ to HLSL, especially considering the wide array of both 2d and 3d graphics libraries/engines/frameworks available. There's still OpenGL with GLSL, Allegro, SDL, SFML, Irrlicht, Ogre3D and so many more. And OOP is not just limited to C#/XNA. You can achieve that with C++ just as fine, and SFML is structured really well for OOP. Also, switching languages shouldn't be an issue. At a certain point in learning languages you can easily draw parallels between languages and it becomes progressively easier to learn new languages. Yes C++ does have to deal with memory, and C# being a managed language has the luxury to gloss over this. I don't think you should ever lock in to any language. I do however second your suggestion on Unity. It's a wonderful program and I only wish I had more time to spend learning it
If you check up on TheNewBostons video tutorials im at video 50 maybe or so. Ive also read a bit in "Sams teach yourself C++ in 21 days".
Like you I also started with TNB tutorials on Java but quickly after I switched over to a variety of books in several different programming languages, as while he does teach the general idea pretty well, he does not follow a lot of coding standards and his instruction can sometimes lead to some bad programming habits. If you still want to give C++ another shot I recommend reading the tutorial at cplusplus.com or at learncpp.com Those are both great resources. If you do go this route I highly recommend SFML. The documentation is absolutely wonderful, and they have great resources available. Also if you like coding tutorials, CodingMadeEasy on YouTube(as well as on his personal website) basically walks through the SFML documentation using video examples and does a pretty good job at it(though he does assume fairly strong grasp on the C++ language).
I can't say much about C# as I've had minimal exposure to it, but from what I do know I can say that the language syntax and style is very similar to Java. I can't say anything about XNA as it lies out of my area of expertise.