Very elegant :) I ended up having to use a varchar 12 and ended up with this beautiful mess. It's ugly... but it works!
It starts as a char(6) in 200510 format and ends up as Oct-05
STUFF(CONVERT(VARCHAR(12),CONVERT(DATETIME, (SUBSTRING(MyField, 5, 2) + '-01-' + SUBSTRING(MyField, 1, 4))...