I plan on avoiding D3DX in future projects. There are of course the overhead and inflexibility concerns, but my main motivation is the fact that it gets updated much more frequently than DirectX. Now, this isn't a bad thing if you are releasing a final product with an installer and everything, since you can package in the DirectX updater, but it is a real pain to deal with if you are just releasing demos. The demos are usually packed up into a .zip file without an installer, which makes things easier on both the user and myself. The problem I have encountered is that most users do not keep their copy of D3DX up-to-date, while I usually have the latest version. This requires the user to install the update, either by downloading a separate "dependencies" file along with the demo or getting the update directly from Microsoft. A lot of people don't want to bother doing that.
I only use D3DX for creating textures, so avoiding it won't be that problematic overall. However, I will need to brush up on my bitmap format knowledge and figure out how to use libpng.
Today marks the last day of the "knowledge" phase of the R&D I am doing. I will be entering the "experience" phase tomorrow, which involves actually using the information I learned. The point of the "experience" phase is to get me more comfortable with the new techniques, and iron out the first big wave of unforeseen problems which inevitably rise up when doing something for the first time. On a side-note, I suppose calling these the "research" and "development" phases respectively would be more fitting, but I like the more general feel of the other set of names.
[size="1"]Reposted from http://invisiblegdev.blogspot.com/
Obviously this is not good for a finished product as the dll will not benefit from future updates, but it is fine for one-off demos and means that you just add another file to your zip.