I have a simple model that selects layer by attribute of the feature class with the parameters of start year and end year set up as doubles and then use an expression in the select layer by attribute as: datesample_1 >= %Start Year% AND datesample_1 <= %End Year%. It then uses copy feature to make an output feature class. When I run the model individually it works fine, but when I run it as a batch even though I'm giving it different parameters, when it runs it uses the first parameters I entered over and over so my output features are all the same.
Have you considered putting your parameters in a table or list? Then you could insert an iterator into the model and iterate through the years. As for format of the table, DBF would probably work best, but CSV's still play well with Arc and are far easier to edit, so it's a question of preference.
On a side note, the parameters as you have described them can have instances of overlap if the dates aren't set properly. Let's say the two date ranges you wanted were 1991-95 and 1995-2000, the date ranges would be 1990<=DATE1<=1995 and 1995<=DATE2<=2000. This would result in all the data from 1995 being counted in both ranges. There are ways to work around this by setting the start date values properly (in this example it would be setting the start date of the range for DATE2 to 1996), but it might be a lot easier to change one of the <='s to a <.
As for your problem with the batch execution of the model, if it's working by selecting from layers you may need to add a step of clearing your selection at the very end of your model, after the results from your current run have been output. It's one of the selection types in the Select Layer By Attributes tool. That way the next run of the tool will be starting from scratch, layer-wise.
Read up on the link @PolyGeo posted, and the links in that thread. Apparently when a tool is executed in batch mode it runs the processes in parallel, rather than sequentially. For sequential execution you either want a ModelBuilder iterator, or a python script.