It's meaningless to set a column width and set it again.
In order to get the window to properly update you have to jump somewhere else and back.
-------------------------------------------------------------------------------------
set frontAppPath to (path to frontmost application) as text
-------------------------------------------------------------------------------------
set widthNameColumnMinimum to 200
set widthNameColumn to 300
set tempLocation to path to favorites folder
-------------------------------------------------------------------------------------
tell application "Finder"
activate
set wdw to window 1
tell wdw
set winTarget to its target as alias
if current view ≠ list view then
set current view to list view
# delay 1
end if -- current view
if toolbar visible = true then set toolbar visible to false
if statusbar visible = true then set statusbar visible to false
if sidebar width ≠ 0 then set sidebar width to 0
tell list view options of wdw
set W to width of column index 1
set width of column index 1 to widthNameColumnMinimum
set width of column index 1 to widthNameColumn
set width of column index 1 to widthNameColumn
set x to width of column index 1
set z to width of column index 1
end tell -- list view options of wdw
----------------------------------------------------
# This code MUST be included in the script!
----------------------------------------------------
if winTarget ≠ tempLocation then
set its target to tempLocation
set its target to winTarget
end if
----------------------------------------------------
end tell
end tell
delay 0.15
-------------------------------------------------------------------------------------
# Keyboard Maestro is better about displaying dialogs, but I still use this method.
-------------------------------------------------------------------------------------
tell application frontAppPath
display dialog "W = " & W & return & "X = " & x & return & "Z = " & z
end tell
-------------------------------------------------------------------------------------