I worked at one company that was trying to introduce Scrum to a largely custom software outfit that still used traditional cost estimation of man hours (months), etc. The lesson there was clear: your team's velocity should drive the cost estimation, not the other way around. This was particularly destructive for a while, since basically the delivery date was fixed from the start without consultation with the development team, and therefore the average velocity of the team was predetermined. As a result, we ended up working huge amounts of overtime only to be left with an unrepresentative velocity that was used for FURTHER planning.
To learn from that lesson, the development team was given the opportunity to participate in the proposal and pricing phases of projects. This exposed a new lesson: if you're spending 20+ hours per week in planning meetings (even after reaching a stable process), you're doing Scrum wrong. The issue that we had was that our business model/customer relationships still mandated line item breakdowns of cost, heavily detailed requirements, etc. We were thus required (as a team) to basically break down, plan, and estimate the cost of (via planning poker) every future sprint item at the project get-go. This made it impossible to leverage one of the intrinsic features of Scrum: to perform just-in-time planning whenever possible (since requirements are going to change anyways).
I remain unconvinced that there is a recognizable variant of Scrum that would have worked well for that business model, and the reality is that as a development team you won't have much luck implementing Scrum without higher-level buy in. Yet I've seen Scrum be hugely successful at other places I've worked. My personal suggestion is to hire a consultant to evaluate whether (and how) Scrum has something to offer your company, and what it would look like. Remember, Agile methodologies are meant to be malleable, but bend them too far and you're unlikely to be benefitting from them.