Use the \FloatBarrier command of the placeins package.
EDIT: Counters associated with a float may influence float numbering, e.g. "Table 1.3" (third table in section 1 of an article) instead of "Table 3" (third table in an article). Those counters bear no direct relationship to float placement. (In the LaTeX standard book class, there's one indirect relationship: The \chapter command acts as a float barrier.)
EDIT2: The \newfloat command is used to create new types of floats, e.g. "maps" besides tables and figures. These "maps" may be listed in a "list of maps", but (unless you do some hacking) won't appear in the list of figures.
Note that this has been mentioned in a few places already. Here is a summary:
If you really want them to stay in place, you could just not put them in Floats. Then you can use either the caption or the capt-of package to add a caption to the figure.
However, I think that the most accepted method is to use the placeins package to have your floats placed in the section they appear in. You can also define \FloatBarriers to decide where floats should not go past.
Playing with the size of the figure, even for a couple of points, can also make a great difference in the placement while not changing much of the visual aspect.