No, you don't have a setting wrong. Custom fields don't retain their values as well as you'd like. I too find that frustrating.
I do try to simplify the navigation in a complex transaction, which makes things like this a little easier. For example, often the double-click action is undesirable. You want the user to navigate via a script button and the double-click side steps it, or maybe it does a drill-down to somewhere you don't want the user to go. You can't disable it, but if you put a transparent label over the offending fields and make sure it is in front of the standard object, the double-click won't work! I use this especially on reports, where I don't want to allow drilldown. You can make the label as big as you need - maybe covering almost everything except the script buttons you want the user to use for navigation.
You'll still probably end up with something complex, but tricks like this can make it workable.
Steve.