Gordon Brown's refusal to allow all Gurkha veterans to settle in the UK because of cost has been dealt a blow by MPs.