Your fix is changing "acquire" to "buy" so that means it isn't going to look at how many I already have, is that correct?
Oh, you're right, that's probably no good.
I think what should be done is that you should list the final product items before the components. Then if the components get used up earlier on, they will be acquired later to replace the initial items.
As for the hi meins, all I can think of is that you should set valueOfAdventure to a high value so mafia won't spend turns making stuff like that ("set valueOfAdventure=20000" or so).