There are some other things that can cause ammonia to not work properly for a fishless cycle:
Culprit 1: Water treatments. A lot of them now neutralise ammonia as well as chlorine, because a lot of towns and cities have taken to adding ammonia, chloramine (mixture of chlorine and ammonia) and chlorine to their water. Because this will harm fish if you do a big water change with it, a lot of water treatments have taken to neutralising all of them.
Most 'complete' water treatments or 'water agers' these days aim to get rid of everything that may be undesirable - they muck around with the salinity, heavy metals, trace elements, ammonia, chlorine, chloramine, hypochlorite... they often don't go into details about what they do and don't remove, or what they use to neutralise various substances. A lot of these half-ass ammonia removers will stop the ammonia cycling your filter, but still provide a reading. If this is what's gone wrong, you need to do a complete water change, refill the tank using dechlorinator only (not a complete water treatment), and re-add the ammonia.
Culprit 2: Zeolite. It's a filter media usually used to rescue people who don't cycle. It's marketed as a substitute for cycling, for those who couldn't be bothered, but in the long run it's disastrous and causes more problems than it fixes. I won't go into that here. It is usually enclosed in a netting bag, and looks like pale grey or cream pebbles. It's sold as ammonia absorber or ammonia remover. Usually it will cause a zero reading, so I doubt that this is your problem, but if you find it, get rid of it.
Culprit 3: Blocked filter. If there is too much wool or floss, or something blocking up the water flow in the filter, the bacteria will not get enough oxygen. Oxygen flow through the filter is essential during cycling - make sure it's running on its highest setting and remove any non-cycling media (like carbon) to provide more water flow. If it's making too much current you can slow it down before you go to add fish.
Culprit 4: Surfactants in the ammonia. Ammonia is generally sold as a household cleaner. On its own, it isn't much use. It's far more effective for its intended purpose if it's combined with soap. A lot of companies mix the soap with the ammonia before they sell it. They use just about anything - bleach, sugar soap, and various other antibacterial agents. If something like that is in the ammonia solution you're using, the bacteria will not grow. Shake the solution. Pure ammonia should form clear bubbles that burst within about ten seconds when you stop shaking. A solution containing surfactants will foam up like soap suds. You may also see - geez, it's hard to describe - sort of like a swirling, pearly, iridescent stuff in the solution. Pure ammonia solution will look cloudy, like water with a teaspoon or two of milk added. There may be a white sediment on the bottom of the bottle.
If your ammonia contains surfactants, this is a major pain. You'll need to drain the tank, rinse it out very thoroughly, rinse all water-contacting parts (like as much of the filter as you can disassemble) and probably replace the filtration media.
Do you think it could be any of the above? Four weeks with no reduction in the ammonia reading is definitely not normal.