One of the limit I have noticed is that, in case of biogas co-firing, it seems not to be possible to keep the engine running if biomass becomes too expensive with use of natural gas for example, whereas it is the case if biomass becomes unavailable (natural gas consumption increases).
You are right about the co-fired generator. HOMER will always preferentially burn biogas in a co-fired generator, so it will not change the fuel mixture in response to a changing natural gas price. If you haven't already, you may want to read the Help article on the operation of a cofired generator -- look up "cofired generator" in the index. Assumption number 2 states that the system will at all times attempt to maximize the use of biogas and minimize the use of fossil fuel.
HOMER dispatches the cofired generator, as it does all generators, according to economics. As the biogas gets more expensive, power from the cofired generator starts to look more expensive, and HOMER starts choosing the grid instead. When calculating the cost of power from the cofired generator, HOMER assumes it will be running at minimum fossil fraction, which in your case is zero.
If you want to override HOMER's economic-based dispatch of the cofired generator, you can force the generator to operate continuously (or schedule its operation any way you want) on the Schedule page of the Generator Inputs window. But unfortunately you can't override assumption number 2, so that if biogas is available HOMER will use it, no matter how expensive it is relative to natural gas.