A) It's not that big of an assumption. The exponential curve in computing power doesn't just go back to the advent of computers, it goes back as far as we could perform simple arithmetic. It's an assumption based on our long history of improving methods and fabricating machines to compute. Unless we have capped our ability to invent new methods of computing, it's a fairly safe assumption to make. Our ability to compute is probably not limited by the number of transistors we can pack on a silicon disk.
B) given a large enough knowledge base and a set of really good AI algorithms, one should be able to create intelligent machines. There's nothing to prevent them from replicating, either. However, I don't think that they will ever be truly sentient. Even so, careful design will be necessary to ensure Asimov's laws of robotics are strictly enforced.
C) I don't believe Kurzweil has ever claimed NP-Hard problems would be solved by the exponential increase in computing power.