It's seems it's a bug. Most of rebel generals have "dontmove" trait. It was meant to force them to stay and guard settlements. Otherwise they would just go for a walk (I have no idea why Saad was moving anyway, though). However, when you bribe them, they keep the trait and are useless. Such a design flaw.
If you want to have your generals mobile, open the console while on the campaign map (you open it with "~" key) and enter following commands:
remove_trait Saad dontmove 1, hit ENTER key, and then enter
remove_trait Ghazi dontmove 1 and hit ENTER key. It should work.