The dare basis should always stay the same. An agent who just looks at the booking fare class and not fare basis is being lazy.
As for the rebooking issue with W. The problem only occurs if one has been upgraded to W. The system sees you booked in W and thus rebook you into W. However the lowest bookable W fare can have a lower fare class as it's basis then what you booked to be able to upgrade. Thus an agent who doesn't pay attention ends up rebooking your B fare that was upgraded to WU as W not realizing it's a W fare with a basis of say a L fare.