yes, that's right, because you only change the format not really the entry of the date. That means, that the complete date is "behind" the YYYYMM. Use the function Monthname or Year(date)&Num(Month(date),'00').
I did find this to work for an Good Receipt Date that was coming in from database as formatted like this '20130115' or YYYYMMDD. QV surely did recognize it as a string and the code above from Anatoly worked.