Hm that is really strange then. For me its absolutely random if the guaranteed Pokemon is included in the team up or not. I'll keep you posted if I can solve that issue myself.
For me the guaranteed one doesnt work. The randomization works fine and also the number of pokemons is actually 4, when I enter a number of 3 and guaranteed of 1. However the Pokémon seems to be random anyway. My block in PBS looks like this:
[TRAINER_BOB,BOB]
LoseText = "A good battle indeed!"...
EDIT: Okay I found the problem and this is the solution:
In 02_Shared_battle_Class change the the first line to class PokeBattle_Simulated_Battle < PokeBattle_Battle
Also you need to make sure that the shared script sections come before the simulated ones.
Also you need to add the following...