OK. Internal partitions must not allow for simple ejection like this. What you'll have to do instead is crib from my script, and do something like:
Code:
tell application "Finder"
try
set diskID to my getDiskIDByName("the-volume-name")
if diskID is not equal to "" then
do shell script "diskutil unmount " & diskID as string
end if
end try
end tell
In your own script, copy my definition of "getDiskIDByName" and paste it in.
I don't know why it doesn't know about your SATA drive -- that's just weird...