The game system uses a 3 shot ladder for most weapons (exeptions are infantry small arms and missiles mainly).
Roughly speaking, first shot at a target is 1/3 the chance, second 2/3 and third (and subsequent) at full to-hit chance.
And I changed the code in MBT for laser range finders (20+) to a 2-stage ladder, if within a certain multiplier of the RF number, which I cannot recall ATM - may be 1.5 .
The Fire Control and Range Finder, and other factors also produce limitations, so if you have a shot that goes say 25% and then sticks on say 50% for subsequent shots, then you have reached some sort of limitation (FC, range finder, or movement (yours or target) etc).
Personally, I do not really like the SP "formula based" sytem. If I were ever to do my own engine from scratch, it would be a system based like all good tabletop wargames, on tables. Same for target effect. For an example - see any of the WRG or TTG wargames rule sets. So - a to-hit table for each gun/ammo combination, and an effect table for each ammo type, with columns for 0-50, 51-100 etc, and line items for adjustment factors (Target in woods, -20, and so on). Tables can be published easily, formulae would need the end user to scrabble through thousands of lines of C code. Tables are also easier for the programmer to debug too, as you can make an educated guess on what some adjustment would do to hit chance or kill chance, otherwise you have to debug thousands of lines of C, calling various subroutines and so on.
This game system has no "I have hit the target" modifier either, unlike say the WRG 1950-2000 system. Just number of shots fired on target which gets reset if you change to a new one.
The other problem with the SSI formula-based system is that it uses
one set of numbers and then tries to fit this into various entirely different types/modes of fire (AA, HE, AP, missile) etc.
It probably made sense back in 1990 or so, when PCs were so limited in storage both disk and RAM, that a few bytes shaved here or there allowed an extra 100 units. And individual tables for each weapon would be a bad case there as well. The limitation to HEAT and sabot for weapon 1 is likely from there - my guess is there was only HE and AP, and someone added that at the last minute. And instead of extending the original array of ammo for each weapon slot, (ammo[slot][2] to ammo [slot][4]) they were tacked on as single bytes in the weapon data, and then in order to fit HEAT weapons in slots not #0 the "222 kludge" came in, which would not have been needed if the extra 2 ammo type slots had been added to the ammo array in the first place. But back then, 6 more bytes of storage (times N units) was probably important due to the limited memory. After all - when PBEM replay was added then you had to have a PC with extended memory and at least 4MB (?) of RAM, which back then was considered
huge 
.
So - all likely inherited limitations from the original target system, i.e. a 1MB or so RAM PC (486 processor, if lucky).
Cheers
Andy
NB - WRG have published the old out of print "Infantry Action" rules on-line here
WRG 1925-75 Rules - a good use for you 1/72 Airfix figures, or an excuse to get a few boxes
And for a typical "table based" approach rather than formulas see the infantry results table of the above
Anti Personell table