Made a change and does appear to be working now.
I put the pal/sk check in the first if statement as follows:
	Code:
			if ((GetClass() == PALADIN || GetClass() == SHADOWKNIGHT) && GetLevel() >= 15)
			critChance += RuleI(Combat, PalShdBaseCritChance);
 That seemed to do the trick. The testing was much more in line with expectations. I started at level 14 and go no crits in 3 mobs over 50 swings.
Leveled up to 15, got a crit after 5 strikes, but then it went to 1 in under 20.
Not sure why the order of the statement made that much impact but it's working as I intended. 
Now to improve paladin's hit chances closer to warriors.. time to sniff through more code..
-lax