Question: Now I know *why* we do Cross Validation. And *how* we do it. I have few questions around it though:

* Why can't we do that on every dataset we work on? Like, why shouldn't it be a standard, or a rule of thumb, if you may - "Instead of train-test split, do Cross Validation" ...
* Is there a certain size of dataset we need to consider before performing it? Like, can it be done on like dataset with 6 to 9 digit rows? If not, what's the alternate? Bootstrapping? I heard from someone that it may not perform well with huge dataset.
* Does it make sense in performing it on a heavily biased data set?

Thanks in advance.

Answer: 
What you are terming 'main effects' are not really that in the usual sense. You cannot interpret lower-order effects (e.g., "main" effects) without simultaneously taking into account any higher-order (e.g. interaction) effects that are constructed of terms from lower-order effects. My [Regression Modeling Strategies course notes](http://hbiostat.org/doc/rms.pdf) have a detailed example of interpretation for a simple example where age has a linear effect and interacts with sex. It shows you how to do the composite "chunk" tests that are meaningful and are independent of how the variable are coded. For example, the age effect is the combined age and age x sex effects, which tests whether age is associated with Y for either sex. The sex effect is the chunk test for sex + age x sex interaction and tests whether there is a difference between the sexes at any age.

To get specific meaningful estimates, you form contrasts, e.g. difference between male and female at the median age.

Don't use statistical significance to choose a model. Stick with pre-specification, with an exception being this: if you do a chunk test of all interaction effects combined and the multiple degree of freedom test for all interactions yields p=0.4, you can fairly safely drop all the interaction terms. Some statisticians use AIC in making this decision.

The R `rms` package `anova` and `summary` functions do all this automatically, as shown in the detailed case studies in my notes. For more resources see <http://fharrell.com/links>.
First, since your DV ranges from 1 to 10, you will want to carefully check how much the model violates the assumptions of linear regression - linear regression assumes that the DV is continuous. You might want ordinal logistic regression. Linear reg might lead to problems: Either of your equations may lead to predicted values that are outside 1 to 10, for example.

Now, to your main point: The two models do *not* contradict each other. They say different things, but they complement rather than contradict. The first model says:

LOC = 0.13\*college - 0.08\*over25 (plus other stuff)

the second one says

LOC = 0.03\*college - 0.47\*over25 + whatever*college*over25 + other stuff

(you did not tell us what the parameter estimate for the interaction was). 

The second model's main effects cannot be directly and generally interpreted. In particular, the 0.03 is the effect of college for people under 26 and the 0.47 is the effect of being over 25 for people who did not graduate college. To see what happens for those who did both you need the interaction.

In addition, the parameter estimates for the intercept and the "other stuff" will change.

I suggest looking at the predictions of each model when college = 0 or 1 and over 25 = 0 or 1. This will show you what the models are doing.