I'd just have a vector for the 4 main things...

1. Cannonball position
2. Cannonball velocity
3. Gravity
4. Wind

Use the cannon to set the initial velocity to some large quantity (i assume you are using metres per second as your units?) with the appropriate angle. then for each time step add both the wind and gravity to your velocity (taking the mass of the projectile into account using simple acceleration laws) then simply add that resultant velocity to the position of the cannonball. That should be all there is to it.

You might want to give the wind vector a more accurate feel by adding the [reverse of the cannonball velocity] to it. This will give a more accurate 'local windspeed'. I haven't worked out the appropriate math for that though.

Wind resistance effect would be hardly noticable for something like a cannonball, given its large mass and small volume and surface area. Terminal velocity (due to gravity) for a cannon ball is significantly greater than that of, say, a cricket ball.

I'll do the math now and get back in an hour or so...