You have a total N = 148, distributed into 4 groups. If you had 37 in each group instead, you would have greater statistical power. Otherwise, a one-way ANOVA is just as valid here as anywhere else (given that the normal assumptions are met). (To understand this better, it may help to read my answer here: How should one interpret the comparison of means from different sample sizes?) So to answer 1. explicitly, yes, you can use a one-way ANOVA when the sample sizes are extremely unequal.
However, your description in 2. seems odd to me, so let me add a few notes:
- If the groups (A through D) were formed by categorizing BMI (a continuous variable), you would be better off using regression with BMI as your predictor; categorizing continuous variables is not a good thing to do.
- It isn't clear what you mean when you say that A-B and A-C were significant, but A-D wasn't. An ANOVA doesn't tell you that. An ANOVA only tells you if there is a difference somewhere amongst your groups. Did you run some post-hoc test to get those results?
- I don't see how you could have run a paired t-test to compare A and D when they do not have the same ns. Did you mean an unpaired t-test? Under the assumption that you used some proper test for post-hoc comparisons with the ANOVA, that was probably the appropriate option as a t-test would not take into account that you have multiple comparisons, for example.