Yes, that doesn't work for me either. I don't think there's any way to change a unit's side mid-mission in OFP. That changing of sides with join might just be an ArmA thing.
If the unit to be changed is not the player, then you might be able to effect some "smoke and mirrors" using deletevehicle and createunit in quick succession.
To get friendly units to shoot at the player, use addRating with a negative number. To keep enemies from shooting a unit, use setcaptive. Unfortunately those two won't mix.
Sorry I can't be more helpful.
EDIT: I just realized that you can create the illusion of the changing the player's side by deleting all enemy units and using createunit to replace them with friendly units with enemy uniforms and weapons, and
vice versa with friendlies. Tedious, but I think it would work.
The only problem here is that you may now have black soldiers in USSR uniforms.