Can you describe exactly how you are using the EDATE function in your model? EDATE has some quirks which you may or may not expect. By quirks I do not mean to say that they are bugs but rather some inconsistencies, especially around the end of months.
In cell A1, type 3/31/2006
In cell B1, type EDATE(A1,-2)
You should get 1/31/2006 after formatting as a date display
In cell A2, type =EDATE(A1,-1)
In cell A3, type =EDATE(A2,-1)
Results:
A2: 2/28/2006
A3: 1/28/2006
Change the formula in cell A3 to be =EDATE(A2,+1) and you should get 3/28/2006. Adding a net zero months parameter results in a three day difference.
EDATE is not calculating incorrectly. Rather, it gives some seemingly odd results that can be unexpected. There are alternatives that may be better and do not require either the Analysis Toolpak or VBA.