they certainly have the money to run it on server(and still be on profit about the game).
it's just something that would need in the development phase a totally different attitude to creating the product instead of going about it like it was 1995. it would also save bandwidth for them to do it properly - and may I remind you this is the company that still pretends being tied to playing Diablo 3 only when connected to the servers is essential for making the "complex" gameplay _possible_ and was not done for the sole reason of fighting piracy(which it was, the game was intentionally made to depend on the servers just for sake of generating drops for the pay-real-money-to-feel-like-a-winner auction house).
I mean seriously, the game logic part of the game is not that complex. it's essentially the same game as warcraft 2 when it comes to troop amounts and how complex the troop rules are - it certainly would not have been too complex for their budget to include a mode where data irrelevant to the client would not have been transferred from the server to the client thus making it impossible to build a map cheat or traffic analyzers to show where the troops are for sake of cheating on online playing.
*(and who the fuck would pay for offline single player cheat?)
blizzard have always been fucks about this and you can go to slashdot archives going back way more than a decade to find shit about them suing people for making software other devs would praise for having been created...(bnet sue days. but those were also sued because they were already positioning battle.net as an antipiracy device to take away value from paid customers)