Best way to update individual vehicle positions in a render list?

There are several ways of doing this:

1. If you have 'vehicle' objects in your application - make them support IRenender - this way they can draw themselves at the right location whenever the map is drawn. Add all your vehicles to a renderlist.

2. Keep a reference to the pushpin object and update the location of the pushpin when the vehicle moves (perhaps in the vehicle object).

3. Don't use Renderers at all. Get a map using GetMap and the use a Graphics object to draw your icons where you want them before you display the map using LatLonToXY to find the locations.

4. If you have a collection of vehicles, make the collection object support IRenender - it can then iterate through each vehicle and plot the position.

5. Create a new renderlist of all the pushpins for each vehicle whenever one moves, use this new renderlist to draw you map

What is the best way to access managed DLLs in unmanaged code? Are there any limitations to adding custom icons to GeoBase maps?