Hi,
I think the answer will probably also depend on some other parameters such as how many MyObjects would you expect in total and how big would they be? What would your anticipated overall memory requirement be? Would you be overflowing to disk? What is the read/write % breakdown?
If you have non trivial query requirements then your #2 may be the best option - would you ever need to query all MyObjects for a given month across all years? You would obviously benefit from having functional indexes defined across all attributes in the key.
If you do end up considering option #1, then you would definitely want to have your objects implement the Delta interface.
--Jens