I understand getting stuck with a less-optimal solution
because of choices made elsewhere. About all you can
do it inform the client of the ramifications of
their decision and prepare.
In the first case I would handle it like this.
Tell the client company:
Since your current webhost doesn't support A, B, or C
we can develop your project
in X weeks and it will take about Y effort to support in
the future. It will scale like Z. If you find a
webhost that supports A, B, and C then we can implement
it in
T weeks and it will take about U effort
to support in the future
and it will scale like V.
Break it down in such a way that both their operations staff and
accounting departments can both understand the ramifications
of the choice they've made. If they choose to stay, at
least they know what tradeoff they made (and hopefully
they'll come back to you when they realize the error of
their ways). Also, if you can get your company to change
policies and start recomending a (or some) particular webhost(s),
you may be able to cut a deal w/ the webhost that would
let the clients get a lower rate (since you'd be bringing them
in in bulk).
In the second case (and I've been in that EXACT same
spot before w/ HP-UX and Oracle even).
be sure you include in your specifications
details requirements of what
they must have installed (preferably in an early spec that
upper-managemet signed-off on). Make sure this is
widely distributed
to all parties related to your project in the client
company. Make sure you are ready
so if it comes down to the
dinosaur manager problem
you can place blame squarely on his/her shoulders and
show him/her that upper management has already
signed-off on it. It still isn't a fun fight to have, but
being prepared can make it an easier win.