(1)当b=2a时,f(x)=x3-(a+2)x2+2ax+1,
所以f'(x)=x2-(a+2)x+2a=(x-2)(x-a).令f'(x)=0,得x=2,或x=a.
①若a<2,则当x∈(-∞,a)时,f'(x)>0;当x∈(a,2)时,f'(x)<0;当x∈(2,+∞)时,f'(x)>0.
所以f(x)在(-∞,a)上单调递增,在(a,2)上单调递减,在(2,+∞)上单调递增.此时当x=a时,f(x)有极大值f(a)=-a3+a2+1;当x=2时,f(x)有极小值f(2)=2a-.
②若a=2,则f'(x)=(x-2)2≥0,所以f(x)在(-∞,+∞)上单调递增,此时f(x)无极值.
③若a>2,则当x∈(-∞,2)时,f'(x)>0;当x∈(2,a)时,f'(x)<0;当x∈(a,+∞)时,f'(x)>0.
所以f(x)在(-∞,2)上单调递增,在(2,a)上单调递减,在(a,+∞)上单调递增.此时当x=2时,f(x)有极大值f(2)=2a-;当x=a时,f(x)有极小值f(a)=-a3+a2+1.
(2)因为函数f(x)在区间(0,2]上单调递增,所以f'(x)=x2-(a+2)x+b≥0对x∈(0,2]恒成立,
即a≤x+-2对x∈(0,2]恒成立,所以a≤(x+-2)min,x∈(0,2].
设g(x)=x+-2,x∈(0,2],则g′(x)=1-=(b>0),
①若0<<2,即0<b<4,则当x∈(0,)时,g'(x)<0;当x∈(,2]时,f'(x)>0.
所以g(x)在(0,)上单调递减,在(,2]上单调递增.
所以当x=时,g(x)有最小值g()=2-2,所以当0<b<4时,a≤2-2.
②若≥2,即b≥4,则当x∈(0,2]时,g'(x)≤0,所以g(x)在(0,2]上单调递减,
所以当x=2时,g(x)有最小值g(2)=,所以当b≥4时,a≤.
综上所述,当0<b<4时,a≤2-2;当b≥4时,a≤.