If user has X bitcoins in encrypted wallet and wants to send them all, and transaction would require fee, here is how application logic goes right now:
- Put address and X bitcoins into appropriate fields then click on "Send" button.
- Confirm send action.
- Type password and proceed.
- Bitcoin-qt will complain about not having enough bitcoins to pay fee.
Steps 3. and 4. should be reversed. Additionaly, step where client asks user if he or she is OK with paying extra fee due to young coins and / or transaction size should come before typing password.