You should only get the results if the relationship between $y$ and $Age$ is exactly identical for all three groups. Consider the full, unrestricted model:
y = (\alpha_0 + \alpha_1*Age)*d_1 + (\beta_0 + \beta_1*Age)*d_2 + (\gamma_0 + \gamma_1*Age)*d3 + \varepsilon
This allows each group to have its own intercept ($\alpha_0, \beta_0, \gamma_0$) and its own slope coefficient for age $(\alpha_1, \beta_1, \gamma_1)$. Your original model allows for the intercepts to be different (through your dummy variables) but you impose the assumption that $\alpha_1 = \beta_1 = \gamma_1$. So when you estimate the model
y = b_0 + b_1Age + b_2d_1 + b_2*d_2 + e
your $b_1$ is a weighted average of the true $\alpha_1$, $\beta_1$, and $\gamma_1$. When you restrict the sample to $d_3 = 1$, you're getting $\gamma_1$ alone.
(For completeness, I also wanted to point out that roughly speaking, $b_0 = \alpha_0$, $b_2 = \beta_0 - \alpha_0$, and $b_3 = \gamma_0 - \alpha_0$, since this equation omits one group and uses a catchall intercept instead. However, they won't line up perfectly because you've forced all of the groups to have the same slope. But those equalities are what is intended, and if the slopes are in fact equal across all groups, then you'll get the right intercept estimates.)