Miles upgrades are not possible after 24 hours before departure. As Tobias says there may be the opportunity to pay to upgrade either through Manage my booking or at the airport.
I dont think its a business decision as such but more a limitation of their system as it takes a few days for miles to come off your account. The mileage data available isnt updated in realtime so no agent would know how many you really had - you could have spent them all yesterday but the agent wouldnt know
BA were looking again at paid upgrades onboard last year internally but I havent heard much since.