This challenge is cool enough that I feel like it shouldn't keep languishing, so here's a (probably not especially good) solution:
<player name="Fool's Gold/Mint || Familiar/FV/Smithy"
author="A_S00"
description="Goes Fool's Gold/Mint with a 5/2 split, or Familiar/Fishing Village/Smithy with a 4/3 split.">
<type name="Bot"/>
<type name="BigMoney"/>
<type name="Combo"/>
<type name="TwoPlayer"/>
<type name="Competitive"/>
<type name="UserCreated"/>
<type name="Province"/>
<buy name="Province"/>
<buy name="Duchy">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Mint">
<condition>
<left type="countCardsInDeck" attribute="Mint"/>
<operator type="smallerThan" />
<right type="constant" attribute="1.0"/>
</condition>
<condition>
<left type="countTurns"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Fool$s_Gold">
<condition>
<left type="countTurns"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
<condition>
<left type="countAvailableMoney"/>
<operator type="equalTo" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Fool$s_Gold">
<condition>
<left type="countCardsInDeck" attribute="Fool$s_Gold"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Gold"/>
<buy name="Potion">
<condition>
<left type="countTurns"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Familiar">
<condition>
<left type="countCardsInSupply" attribute="Curse"/>
<operator type="greaterThan" />
<right type="constant" attribute="4.0"/>
</condition>
</buy>
<buy name="Smithy">
<condition>
<left type="countCardsInDeck" attribute="Smithy"/>
<operator type="smallerThan" />
<right type="countCardsInDeck" attribute="Fishing_Village"/>
</condition>
</buy>
<buy name="Fishing_Village">
<condition>
<left type="countTurns"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
<condition>
<left type="countAvailableMoney"/>
<operator type="equalTo" />
<right type="constant" attribute="3.0"/>
</condition>
</buy>
<buy name="Fishing_Village">
<condition>
<left type="countCardsInDeck" attribute="Fishing_Village"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Silver"/>
</player>
This bot plays FG/Mint on a 5/2 split, or opens Familiar, then transitions into a Fishing Village/Smithy engine if it gets a 4/3 split. With both bots on a random split, it beats FG/Mint 70-27 (not surprisingly, since FG/Mint is terrible on 4/3), and beats my Familiar/Fishing Village/Smithy bot 62-34. It also crushes BMU 86-11, and takes out the built-in Familiar bot 78-19 (it loses 26-71 against the "lucky 3rd turn" variant, but I don't think that's really a fair comparison).
For reference, here are the two bots I'm comparing it against (which are just the two halves of the bot above, without the conditional play):
FG/Mint:
<player name="Fool's Gold/Mint"
author="A_S00"
description="The 5/2 dominator.">
<type name="Bot"/>
<type name="Combo"/>
<type name="BigMoney"/>
<type name="TwoPlayer"/>
<type name="Competitive"/>
<type name="UserCreated"/>
<type name="Province"/>
<buy name="Province"/>
<buy name="Duchy">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Mint">
<condition>
<left type="countCardsInDeck" attribute="Mint"/>
<operator type="smallerThan" />
<right type="constant" attribute="1.0"/>
</condition>
</buy>
<buy name="Fool$s_Gold"/>
<buy name="Gold"/>
<buy name="Silver"/>
</player>
Familiar/Fishing Village/Smithy:
<player name="Familiar/FishingVillage/Smithy"
author="A_S00"
description="A Fishing Village/Smithy engine that buys an early Familiar.">
<type name="Bot"/>
<type name="BigMoney"/>
<type name="TwoPlayer"/>
<type name="SingleCard"/>
<type name="UserCreated"/>
<type name="Attacking"/>
<type name="Province"/>
<buy name="Province"/>
<buy name="Duchy">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Gold"/>
<buy name="Familiar">
<condition>
<left type="countCardsInSupply" attribute="Curse"/>
<operator type="greaterThan" />
<right type="constant" attribute="4.0"/>
</condition>
</buy>
<buy name="Potion">
<condition>
<left type="countCardsInDeck" attribute="Potion"/>
<operator type="smallerThan" />
<right type="constant" attribute="1.0"/>
</condition>
</buy>
<buy name="Smithy"/>
<buy name="Fishing_Village"/>
<buy name="Silver"/>
</player>
Both of these bots beat BMU (even FG/Mint on a 4/3 split edges it out 48-45...this just in, Fool's Gold is pretty good). They're also both competitive against the simulator's built-in Familiar bot (the engine beats it 60-37 on random split; FG/Mint needs a 5/2 split to win, but crushes through 92-6 if it gets it).
(Attached are two sample games, one of it playing the engine, one playing with FG.)
Who's next?