Get out of the habit of generating colormaps without specified lengths. If you use implicit lengths, you can easily wind up with the map lengths varying uncontrollably every time you run your code unless the figure is deleted (not just cleared).
You have two unequal intervals, so your two map segments need to have different lengths. You can either do that by generating them at that length.
breakpts = [100 200 350];
l2 = round(l1*(breakpts(3) - breakpts(2))/(breakpts(2) - breakpts(1)));
CT1 = m_colmap('blues',l1);
CT2 = slanCM('parula',l2);
colormap([flipud(CT1); CT2])
Alternatively, if you want the slopes of the two maps to be the same, you can generate the two maps to have the same length, and then trim the shorter map to length. Note now that 'blues' doesn't run all the way to white anymore.
breakpts = [100 200 350];
l1 = round(l0*(breakpts(2) - breakpts(1))/(breakpts(3) - breakpts(2)))
CT1 = m_colmap('blues',l0);
CT2 = slanCM('parula',l0);
colormap([flipud(CT1); CT2])