What about a shotgun approach? Take a comet, accelerate it up to a significant fraction of lightspeed (after all, you you have lightyears in which to do so), and trigger a bomb in the comet to blow it apart into a few smaller pieces, each traveling at a significant fraction of c. Rinse and repeat.
So the invading force goes into the Oort cloud, picks a chunky rock, attaches a giant thruster to it and begins accelerating it towards c. A day later, the speed of the rock has reached 0.5c.
Hours later, a defending fleet arrives, shoots and kills all the invading bds. The rock however, continues at 0.5c even though the thruster and guidance systems were destroyed. It reaches the asteroid cluster, and hits... nothing. It keeps going to the other side of the solar system, and as its speed was so high, exits orbit.
Accelerating a giant rock to c takes throwing out alot* of gas. The asteroid based civilisation, to prevent random impacts with random asteroids, would've been tracking every object in the belt. One of the rocks suddenly accelerates, I think it will be picked up.
Also, when the asteroid was accelerating, its direction would've been picked up. Once accelerated to c, it will still take hours to arrive at the designated target. The home asteroids simply have to maneuvre away from an intercept course. And no, guidance systems on the accelerated rock won't help. It's travelling at c, and by the time the system finds out the target has moved away, the asteroid would've missed it. Unless the asteroid have 100% maneuverability, and energy to change course whenever, however it likes. But if the asteroid can do that, any asteroid can do that. ;)
So your only option is accelerating the rock from the next system onwards. It will now take years for the asteroid to arrive. To reduce the probability of a successful attack, just have a "random thruster day" every 30 days where all the home asteroids just move randomly to different locations. By the time the enemy asteroid arrives the location of all the home asteroids would've been different. The probability of hitting anything worth hitting will be very low. Even if you have 1000 incoming asteroids.
Also you're assuming you won't get picked up accelerating an asteroid to c in the next system; Remember, asteroids have no atmosphere and 100% visibility. You might miss 1, but 1000? I'd doubt it. if 1000 asteroids are really incoming then you just make every day random thruster day. ;) They have so much energy, you should too.
Generally I agree with this analysis, but I think there is an attack that would work:
Strap small N-bombs (or conventional bombs?) to as many as asteroids as possible, launch them at the target area, and then blow them up ~500,000km away. Suddenly you have thousands (millions?) of significant chunks of rock travelling at 0.5c and spreading out. If you got the explosion point right and had enough asteroids you could cover a reasonable amount of the likely positions, even based on random movements.
It's unlikely to destroy an entire asteroid-belt based civilization, but wouldn't be trivial to evade either.