B
A.因氨气通入Al2(SO4)3溶液发生反应:AlCl3+3NH3?H2O=Al(OH)3↓+3NH4Cl,氨气过量不会与Al(OH)3反应,故A错误;
B、因HCl的酸性比H2CO3的酸性强,所以CO2与BaCl2溶液不反应,故B正确;
C、因HCl的酸性比H2SO3的酸性强,所以SO2与BaCl2溶液不反应,通入过量Cl2后,发生以下反应:Cl2+SO2+2H2O=2HCl+H2SO4,H2SO4+BaCl2=BaSO4↓+2HCl,故C错误;
D、因H2CO3的酸性比H2SiO3的酸性强,所以CO2+Na2SiO3+H2O=H2SiO3↓+Na2CO3,CO2过量会与Na2CO3反应:Na2CO3+CO2+H20=2NaHCO3,故D错误;
故选B.