After flashing from original to tomato, the settings seemed to be kept. First I just adapted the wrong ones and experienced lost settings after power on. Then I decided to do "Erase all data in NVRAM memory(thorough)" which really reset to defaults. After changing to my settings I again experienced that Tomato dropped some. Especially the channel width is default 40Mhz, I didn't change. Later on it changed by itself to 20Mhz and if I change back to 40, it's not used. The router runs 20Mhz. Only setting to "Erase all data in NVRAM memory(thorough)" solves the issue again. DD-wrt works without a loss, but I would prefer Tomato.

You need to be more precise - "loosing" 40MHz channel width setting is NOT the same as "loosing the settings every power on" ;).

If you search this forum, you'll find a lot of discussions about this particular setting, what to do to make it to "stick", and what other settings can prevent the router to operate on 40MHz mode (causing what you interpret as "loosing" the setting).

Thanks for your answer !
I guess, you're right. The 40MHz setting seems to be special, because it suddenly it changed to 20MHz for 2,4Ghz and 5Ghz and no chance to set it back to 40Mhz. I tried the same settings now with DD-WRT and it works fine.
In general, it appears to me that some settings change back to old settings after restart and some even change during operation. Do you this that this effect might be caused by the fact that I just erased the NVRAM by the selection in the GUI, rather than doing a 30-30-30 reset?

I flashed back from DD-WRT to tomato to do some more experiments.
It seems that there's only one setting which is lost every power on reset: The country setting in the advanced wireless settings. It always goes to Afghanistan on reset. This obviously has the consequence that 40MHz doesn't work any more. If I set it to US, all other parameters work fine as well. Until the next reset.
This issue seems to be E3000 specific as I tried Tomato already on a Netgear router without such an effect.

I had this exact same problem as well, and I thought it was because I save and restore my settings using a list of "nvram set" commands on the command line. I found out that setting the nvram values in the following manner prevents E3000 from reverting to Afghanistan (first value):

nvram set "wl_country=EU"
nvram set "wl_country_code=EU"
nvram set "wl0_country=JP"
nvram set "wl0_antdiv=3"
nvram set "wl0_country_code=JP"
nvram set "wl1_country=JP"
nvram set "wl1_country_code=JP"
nvram set "wl1_antdiv=3"

You can probably edit the "JP" to "US" if that is your desired country. I'm not sure what causes this but keeping the EU value for "wl_*" seems necessary to prevent E3000 from reverting back to Afghanistan after a reboot.

There's a bug in the builds 53 and 54 so the Advanced->Wireless page doesn't recognize the "EU" country code. When the code is set to "EU", the page will display "AFGHANISTAN" (just the 1st entry in the list), and will save it if you hit "Save".

To resolve, you can change it to any other country on that page (don't forget to change both radios), and save.

The bug has been fixed in git a while ago - the next build will display "EU" correctly.