Can't imagine why it would be illegal. Co2 tanks are meant to be refilled and if they couldn't be refilled then there would be no fire extinguisher places in business. I've had mine refilled in NYC for years and never been told that and never had a problem.
I've used Fire Foe in Long Island City and Presto in Astoria. I've always preferred Presto, because they're a little cheaper and cleaner, but the last time I went, I called beforehand to make sure someone was there that could do it, drove over, and they were all at lunch and couldn't do it. That's why I called beforehand and told them when I would arrive. I had unloaded my tanks onto the dock before going into the office, and since they couldn't refill, they told me they did a swap and I had to ask for my own tanks back. Mind you, my two tanks are my own personal tanks -- shiny nice with my name on them -- and they had swapped them out for typical looking tanks. I'd never trade in my own tanks. Wasted my time and gas.
I went over to Fire Foe afterwards, and by that time it was the middle of lunch hour. Three guys sitting around eating, jumped right up. Filled, paid and out the door in 5 minutes. Prices have gone up since my last fill and were around $25 for 10 lb. Used to be $20 last year. I only fill once a year, which is the reason for 2 tanks.
I'd use either again. Presto has always given good service, except for the last time. I'd call again in advance and give one more chance because of previous good service. Maybe it was an off day. Fire Foe is good too.