I don't get this problem, and all of my scripts use CreateFleet. Because the BPV system is screwed up on SFC3 (it ignores BPV, and just uses the ship classes). If you still have a problem, use a loop, and have a int32 variable set to the number of ships you want. Then set CreateFleet to make only 1 ship.
Here is a sample of code from one of my scripts, it's the same basic design straight through my scripts.
attackerTeam->mCreateFleet( typeid( tShipInfo ), 1, playerBPV, kClassFrigate, kClassDestroyer, 10000, kStartPosition_H,
NULL, 0, 0, -1, -1, NULL, static_cast<eShipOptions>( kDefaultShipOptions ), playerRace );