I noticed that if you try to close a budget with no unreceived orders, it doesn't work. You have to go edit the budget and make it inactive. I didn't test to see if you close a budget with unreceived orders, if it also makes it inactive or if you have to edit the budget to make it inactive after rolling over your unreceived orders.
I just bumped into this today, and it's really frustrating. I think it's a bug, because when you close a budget - if you have unreceived orders - you also have the option to transfer unspent funds (ie move_remaining_unspent).
It doesn't look like it marks the budget as "inactive" when you "close", and even budgets in "Inactive" have a "Close" option appearing, which is interesting.
I mean I guess you could argue that there is no point moving the unspent amount if you don't have any unreceived orders but eh....