My ideas for version 2 deck file is basically that each deck is stored separately and different directories would hold different "formats" such as sealed, limited, constructed, or anything else that the user wants to create. And to explain this again, there would be a "deck" directory and in that directory it would have the sub-directories "sealed", "limited", "draft" and "constructed". Also, I think that by putting each deck in a separate file would make downloading new decks easy, because the file is downloaded and doesn't have to be added to the "central repository" that holds all decks. AND the user could download a zip file with tons of decks and could easily unzip them into a new directory. (Putting the decks in a new directory would be good because you know that you wouldn't be overwriting any previous decks.)
The user interface (Gui_NewGame and Gui_DeckEditor) would have to be updated to enable the user to change directories.
I've feel that having deck comments would be useful because you could read about a deck that someone else created or make your own comments such as having different versions of the same deck. It would be nice if you could display and edit the comments through the user interface.
If the decks were stored using human, readable plaintext it would be easy to post the decks contents to forums. Currently right now I store the decks in only a computer readable format (I write the Deck object to a HashMap I think, and then write HashMap to the hard drive).
Warning, if you redo MTG Forge's deck system you might have to throw out most (if not all) of the current Deck system. I have done wierd, nastry things to the nice Deck object in order to make it work. On the surface the current Deck class looks very simple but it isn't. In most of the program, I try to use the "higher level" DeckIO class, so if I wanted to update MTG Forge's deck system, I would just write a better DeckIO class.
(This is what I remember that this information may be a little wrong but it will at least point you in the right direction.)
For draft, sealed, and quest I use Deck's object sideboard to hold the total cardpool and I can't remember if the sideboard DOES or DOES NOT include the card that are in the Deck object's main deck. Draft decks are different because they also hold the 8 computer decks that are also generated.
-------------------------------------
And in conclusion, I hope that helps at little.

p.s.
You could sideboard during a match if you updated the Deck system to have a sideboard. Gui_WinLose.java would need to have a sideboard button added, Gui_WinLose is what pops up when you win or lose, and Gui_DeckEditor would have to be updated a little.