So to record what happens I modified you code...
set msgResult to system info
set msgResult to "OSX: " & system version of msgResult
tell application "Mail"
activate
try
delete mailbox "Year 2016"
say "Mail box year 2016 deleted"
set msgResult to msgResult & return & "Mail boxes year 2016 deleted"
delete mailbox "Year 2017"
say "Mail box year 2017 deleted"
set msgResult to msgResult & return & "Mail boxes year 2017 deleted"
end try
try
make new mailbox with properties {name:"Year 2016"}
say "Mail box Year 2016 created."
set msgResult to msgResult & return & "Mail box Year 2016 created."
on error errMsg
say "Mail box 2016 try one failed to be created"
set msgResult to msgResult & return & "Mail box 2016 try one failed to be created"
end try
try
make new mailbox at beginning of mailboxes of mailbox "On My Mac/Year 2016" with properties {name:"Year 2016/11"}
say "Mail box Year 2016 created, sub mailbox 11 created"
set msgResult to msgResult & return & "Mail box Year 2016 created, sub mailbox 11 created"
on error errMsg
say "Mail box 2016 11 try 2 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 try 2 failed to be created"
end try
try
make new mailbox at beginning of mailboxes of mailbox "Year 2016" with properties {name:"Year 2016/11"}
say "Mail box Year 2016 created, sub mailbox 11 created"
set msgResult to msgResult & return & "Mail box Year 2016 created, sub mailbox 11 created"
on error errMsg
say "Mail box 2016 11 try 3 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 try 3 failed to be created"
end try
try
make new mailbox at mailbox "Year 2016" with properties {name:"Year 2016/11"}
say "Mail box Year 2016 created, sub mailbox 11 created"
set msgResult to msgResult & return & "Mail box Year 2016 created, sub mailbox 11 created"
on error errMsg
say "Mail box 2016 11 try 4 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 try 4 failed to be created"
end try
try
make new mailbox with properties {name:"Year 2016/11"}
say "Mail box Year 2016 created, sub mailbox 11 created"
set msgResult to msgResult & return & "Mail box Year 2016 created, sub mailbox 11 created"
on error errMsg
say "Mail box 2016 11 try 5 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 try 5 failed to be created"
end try
try
make new mailbox at beginning of mailboxes of mailbox "Year 2016/11" with properties {"2016 11 17"}
say "Mail box Year 2016 created, sub mailbox 2016 11 17 created"
on error errMsg
say "Mail box 2016 11 17 try 6 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 17 try 6 failed to be created"
end try
end tell
tell application "Mail"
activate
try
delete mailbox "Year 2016"
say "Mail box year 2016 deleted"
set msgResult to msgResult & return & "Mail box year 2016 deleted"
end try
try
make new mailbox with properties {name:"Year 2016/"}
say "Mail box Year 2016 with slash created."
set msgResult to msgResult & return & "Mail box Year 2016 with slash created."
on error errMsg
say "Mail box 2016 try 7 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 try 7 failed to be created"
end try
try
make new mailbox with properties {name:"Year 2016/11/"}
say "Mail box Year 2016 with slash created, sub mailbox 11 with slash created"
set msgResult to msgResult & return & "Mail box Year 2016 with slash created, sub mailbox 11 with slash created"
on error errMsg
say "Mail box 2016 11 try 8 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 try 8 failed to be created"
end try
try
make new mailbox with properties {name:"Year 2016/11/17/"} # FAILS
say "Mail box Year 2016 created, sub mailbox 11 created, sub mailbox 2016 11 17 with slash created"
set msgResult to msgResult & return & "Mail box Year 2016 created, sub mailbox 11 created, sub mailbox 2016 11 17 with slash created"
on error errMsg
say "Mail box 2016 11 17 try 9 failed to be created"
set msgResult to msgResult & return & "Mail box 2016 11 17 try 9 failed to be created"
end try
try
make new mailbox with properties {name:"Year 2017/12/17/"}
say "Mail box Year 2017 created, sub mailbox 12 created, sub mailbox 2017 12 17 with slash created"
set msgResult to msgResult & return & "Mail box Year 2017 created, sub mailbox 12 created, sub mailbox 2017 12 17 with slash created"
on error errMsg
say "Mail box 2017 12 17 try 10 failed to be created"
set msgResult to msgResult & return & "Mail box 2017 12 17 try 10 failed to be created"
end try
end tell
... and here is the result: