property defaultPrefsRecord : {something:1, aString:"string", uneListe:{3, 4, 5}} -- for example
property prefsName : "prefsFileName" -- lookup info on CFBundleIdentifier to find out how to name your prefs file
set defaultPrefsRecord to {AppleScript version:"1.10.7", AppleScript Studio version:"1.4.1", system version:"10.4.11", short user name:"yvan_koenig", long user name:"Yvan KOENIG", user ID:999, user locale:"fr_FR", home directory:alias "Macintosh HD:Users:yvan_koenig:", boot volume:"Macintosh HD", computer name:"Power Mac G5 de Yvan_KOENIG", host name:"power-mac-g5-de-yvan-koenig.local", IPv4 address:"111.111.1.111", primary Ethernet address:"00:00:00:00:00:00", CPU type:"PowerPC 970", CPU speed:2000, physical memory:4096}
set propRec to (system info) -- from StandardAdditions
set prefsFolder to (path to preferences folder from user domain)
set posixPath to quoted form of (POSIX path of prefsFolder)
do shell script "defaults write " & posixPath & prefsName & " x y" -- creates the new property list file with dummy value
tell application "Finder" to set prefsFile to (file (prefsName & ".plist") of prefsFolder) as alias
tell application "System Events" to set value of property list file (prefsFile as text) to defaultPrefsRecord
I guess that here is the cause of the different behavior.