The calculated distance (air line) between Buenavista and Cotabato is approximately 136 miles respectively 220 kilometers.
By car or train, the actual journey to Cotabato is certainly longer, as only the direct route (as the crow flies) between Buenavista and Cotabato has been calculated here.
Air line (approximately)
220 kilometers
119 nautical miles