OK, I can help you with correcting the machine gun problem, but I don't know how to do the second.
To correct guns look for this line
Unit.Gunners.X.Gunner.WeaponType = 1
X is the Gunner number of the machine gun you want to correct. Change the entry from 1 to 0, so that it looks like this:
Unit.Gunners.X.Gunner.WeaponType = 0
That will set the machine gun to act normally. Save the file after you've made the change.
This line sets the damage type the weapon does; 0 for rifles, machine guns, and smgs; 1 for direct fire anti-tank weapons; 2 for indirect fire weapons (artillery and field guns); 3 for flamethrower type weapons. The percentage of the damage that is applied to what target is set in the unitvariables.ini file at these lines:
;---------------- DAMAGE TYPE(%) ----------------------
DamageBullet_To_UnarmouredVehicles = 0.25
DamageBullet_To_ArmouredVehicles = 0
DamageBullet_To_Building = 0
DamageBullet_To_Infantry = 1.0
DamageAT_To_UnarmouredVehicles = 1.0
DamageAT_To_ArmouredVehicles = 1.0
DamageAT_To_Building = 0.75
DamageAT_To_Infantry = 0.35
DamageHE_To_UnarmouredVehicles = 1.0
DamageHE_To_ArmouredVehicles = 0.5
DamageHE_To_Building = 0.8
DamageHE_To_Infantry = 0.5
DamageFire_To_UnarmouredVehicles = 0.65
DamageFire_To_ArmouredVehicles = 0.2
DamageFire_To_Building = 0.5
DamageFire_To_Infantry = 1.0
I hope this helps at least some. Sorry I couldn't help with the instant kill problem.
Whoops, this line should be either
Unit.Gunners.X.Gunner.HandToHand / Ranged.Ranged.Projectiles.0.Projectile.Name = Projectile machine-gun
Unit.Gunners.X.Gunner.HandToHand / Ranged.Ranged.Projectiles.0.Projectile.Name = Projectile gun
for the same Gunner as the machine gun you want to correct.