Din första lösning är nästan där, men är mer komplicerad än den behöver vara och kommer inte att fungera ändå. Den kommer att missa alla rader från den sista dagen i slutmånaden.
Du kan lägga till en månad till end month
och använd sedan BETWEEN den första i varje månad. t.ex.
start month: 9 , start year: 2011
end month: 3, end year: 2012
BETWEEN '2011-09-01' AND '2012-04-01'
eller, som JNK påpekar, detta blir bättre:
DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'
Du måste lägga till lite logik för att hantera end month
december, men det här verkar vara det enklaste sättet att göra det på.