My thoughts...
Based on the neighbor's visit with your wife, you owe him some clarification.
1. It's your dog. He needs to talk to YOU about it, not your wife. Period. Coming over while you're gone to give your wife **** is not acceptable.
2. Let him know you'd like to re-train it to stay in your yard, but his kids keep calling it over. Ask him to talk with his kids. Offer that they can come over to your yard and play with it if they'd like, but that they should simply ask first... IMO, a kid that'll shoot a dog with a BB gun to get it to go away after they call it over is just as likely to call it over when a car is coming just for the "excitement"...
3. Make sure he sees you working with your dog so it stays on your side of the road. I'd suggest using pin flags temporarily, or a feature of your yard if one exists, to keep it back from the road a good ways... Don't just call the road the boundary. Re-enforce the dog's awareness of the boundary every chance you get.
4. Try to be friendly toward the neighbor. Wave, say hello, wander over and chat. Become his friend, to some extent, if possible.
If that goes downhill, it is either because you are not being nice, or because your neighbor is one of those people who just needs to bleed out. If the latter is the case, it's time for a fence. Sounds like it wouldn't take much of a fence to keep your dog in...
Good Luck