How frustrating that must have been! I'm not familiar with the Nuvi, so I can't comment on whether that contributed in any way to your difficulties. However I can assure you that it definitely is possible to do what you want. I am a motor coach driver who plans extensive trips on Basecamp and transfers all planned routes to my DriveSmart 66 and it follows them absolutely. You do however have to understand some of the idiosyncrasies. One is that the routing algorithms in BC are not absolutely identical to the ones in any of the devices, so wherever the routes are not restricted by defined points, a device may think a slightly different way will be faster, so it may deviate from your plan. That may be perfectly okay, you have to decide.
First the Area Avoidance tool in BC only affects the routing in BC, and is very useful as a tool to help determine the best way to avoid an area. However, the avoidance is not sent to the device, so once there, the device will recalculate the route with the results you got. In order to avoid this, after establishing your desired route using the avoidance area you have set, you need to use the insert tool to add via points that will keep the route where it is. A useful method here is to add via points, and then delete the Area Avoidance and see if the route stays where it was. If not, add additional via points until it stays where you want it to. Use care when adding via points. For example, zoom in close enough to ensure a point added on a 4-lane road is in the correct lane, or the route will gladly take you to the next exit and double back to go through it, and when zoomed out this is sometimes hard to see. Via points inserted at intersections or on interstates will by default be set to not alert upon arrival, but some others like a point on a two-lane road which will usually have an address, will be set to "alert" by default. These can be set in the route properties window to "not alert on arrival", which is what I make sure they are for any point I'm using simply to control the route...