a) It would start slow, but constant acceleration has a way of making things pick up speed.
b) You assume that the enemy can monitor the entire sky all the time. Today we look at barely 1% of the sky at any time with instruments capable of seeing a single asteroid moving at that kind of distance. Its very unlikely that it would be detected before its picked up significant speed, and you wouldn't send in just one. Even if they intercept the rock, they've expended ammunition while all you've lose is a few engines. Intercepting larger rocks wouldn't be quite as easy as you seem to think either...
c) It would be easier and cheaper to truck a few engines in than to build a massive ship capable of breaking up and firing entire asteroids, and has the advantage that the rocks can come from many different directions where the massive platform Beorn suggested can only fire from one location at a time and is very fragile, vulnerable to counterattack.
--- 1) The whole concept of kinetic bombardment assumes you have control of the outer system at least. If you cannot even get cargo ships in, it means you're still fighting the space battle and planetary bombardment is premature.
--- 2) Only if you give them that time.
Boosting rocks at a planet is a very old strategy for maximum destruction at minimal cost. It requires no expensive weapons platform, no elaborate engineering or plan, and you can use cheap last-generation engines. Detecting a few small non-emitting objects at a distance in space is not an easy feat.