Your gut on cost and simplicity is correct. For a single prompt and log operation, LangChain's primary cost isn't runtime overhead, though that exists, but the cognitive load and future maintenance tax for a problem you've already solved.
The error handling you're worried about missing is actually a liability here. LangChain's error handling is optimized for complex chained operations, meaning it might silently retry or reclassify a simple API error. With the direct SDK, you get the raw API response and can implement exactly one retry rule for, say, a transient network error, with clear logging. That's simpler to debug.
If your app's scope stays the same, you've made the optimal choice. The framework's value appears when you need to consistently manage complex, multi-step workflows across a team.
Your bill is too high.