When I add a dependent task it start date is equal to the end date of the predecessor, rather than end date +1, almost as if I have a lag of -1. Saving Changes...
This can be caused by having a preceeding start date/end date with a specific "time" during the middle of the day. For example, if the project start date is "01 Jul 2003 12:00pm" (under Project->Project Information) when you enter tasks, the start/end date value will inherit the 12:00 pm component.
This means MS Project will determine that one task will span until 12:00pm and the next start at 12:00pm - giving you end & start dates on the same day for following dependant tasks. Note that when you check the project start time, the "time" component is *helpfully* missing. In this case if you project does start on 01 Jul 2002, enter it with a time component afterward - 01 Jul 2003 00:00.
Another cause of this problem is when you have "Hours per day" or "Hours per week" set to less (or more) than the "Working time" per day.
For example, if your working time is 8 hours and your "Hours per day" setting in (Tools->Options->Calander) is set to 7.2 you will have tasks finishing before the working day is complete in the instance they have a duration entered as X day(s). Ie, the next task will commence immediately in the remainder of the working day.
To correct this, you can adjust either to ensure the figure for the working time (Tools->Change Working Time) equals the "Hours per day"/"Hours per week" settings in (Tools->Options->Calander).