How to achieve a bloom effect on 2D textures?

Yep, this is exactly what I´ve said, you can´t assign textures directly to specific sampler in code anymore (in monogame), you have to set it as parameter otherwise that sampler is set to null. You are missing second texture in BloomCombine, here:

sampler BaseSampler : register(s1);

It is bug, I found quite long discussion between devs where they decided that this is the right behavior (while ofc it is quite opposite). Anyway, let´s fix it.

In BloomCombine:
-leave s0 as it is, but change s1 to be:

sampler BaseSampler : register(s1)
{ 
    Texture = (BaseTexture);  
    Filter = Linear;  
    AddressU = clamp;
    AddressV = clamp;
};

Now you have to assing texture to new parameter “BaseTexture” in code.

bloomCombineEffect.Parameters["BaseTexture"].SetParameter(RenderTargetWithBaseTexture);

Since you are working on app for low performance device don´t forget to cache your parameters later.

As such:

bloomBase = bloomCombineEffect.Parameters["BaseTexture"]; //somewhere in iniciliaziation of postprocess class so this happens only once

and then you can use each frame in drawloop:

bloomBase.SetParameter(RenderTargetWithBaseTexture);