Section 3.9.2.2 of the Application Developer guide erroneously says that G4ParticleTable::FindIon will create an ion "on the fly". In fact, this function only looks up ions and returns null if the requested ion doesn't already exist. The correct routine to call is G4ParticleTable::GetIon.
Thank you. I'll fix soon.