That's what data detectors is doing -- it's assuming the text uses the same order as is set in preferences. So Yvan will always get a different result, because it assumes his text came from someone in his locale. You can find out the order like this:
use framework "Foundation"
set myLocale to current application's NSLocale's currentLocale()
set myFormat to (current application's NSDateFormatter's dateFormatFromTemplate:"MMdd" options:0 locale:myLocale) as text
So this:set theUS to current application's NSLocale's localeWithLocaleIdentifier:"en_US"
set laFrance to current application's NSLocale's localeWithLocaleIdentifier:"fr_FR"
set myLocale to current application's NSLocale's currentLocale()
set theComponents to "MMdd"
set myFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:myLocale) as text
set theUSFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:theUS) as text
set theFrenchFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:laFrance) as text
returns:
0000.003 [15] set theUSFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:theUS) as text
--> "MM/dd"
0000.004 [16] set theFrenchFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:laFrance) as text
--> "dd/MM"
0000.005 [17] set myFormat to (current application's NSDateFormatter's dateFormatFromTemplate:theComponents options:0 locale:myLocale) as text
--> "dd/MM"