Here is a thread that describes what I'm talking about for hiding while emailing: http://www.infopathdev.com/forums/p/24141/83663.aspx#83663
The things I know that turned out to be the most important to me when working with InfoPath are:
You can have multiple controls bound to the same field, even in the same view (you know this one now too!) - the data and controls are separate things.
Rules fire when a field changes - I see a lot of people put a rule on a field to try to change that very same field - generally this is not what you want.
You can't save data in secondary data sources - if you want to save the changes someone is entering into a form, the controls need to be bound to the main data source fields
Be wary of default values - they may update and overwrite data the user has entered into the form, and generally you don't want that
Don't worry about getting a little messy - drag your secondary data sources onto the form so you can see what's going on - I see people working blind a lot, where they are making guesses as to what the contents of a secondary data source might be. There is no reason to not know - just put the data on the form and check it out. Clean up before you publish.
Query fields are used to indicate what data you want returned to the form. Set query fields and then add an action to run the query to return only the data you need (not all data connections have query fields, but if they are there, do use them).
That's some of the big stuff. If you are interested in any training - the company I work for has a good 101 class - http://www.qdabra.com/webstore/p/57/infopath-101-training - I'm not sure when the next class is happening, but it may be a good fit for you.